当前位置: 首页 > 面试题库 >

使用凭据将I / O文件写入共享的网络驱动器

王长卿
2023-03-14
问题内容

我想将.txt文件拖放到共享网络驱动器上。路径是网络驱动器上的映射,该映射需要凭据(登录名和密码)。我可以使用FileOutputStream传递这些参数吗?

FileOutputStream fos;
DataOutputStream dos;

try {
    File file= new File(path + "/" + fileName + ".txt");
    fos = new FileOutputStream(file);
    dos=new DataOutputStream(fos);
    dos.writeChars(stringContent);
    dos.close();
    fos.close();
}
catch(IOException eio){
}

谢谢。


问题答案:

否。请使用java CIFS Client库。您可以通过Java连接远程Windows机器。例子-

String user = "user:password";
NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication(user);
String path = "smb://my_machine_name/D/MyDev/test.txt";
SmbFile sFile = new SmbFile(path, auth);
SmbFileOutputStream sfos = new SmbFileOutputStream(sFile);
sfos.write("Test".getBytes());
sfos.close();

谢谢

编辑 :JCIFS仅支持不安全的SMB1协议,并且已经处于维护模式多年。将jcifs-
ng
用于Windows 10所需的SMB2 / SMB3支持。



 类似资料:
  • 我已经使用Windows共享在服务器上共享了一个文件夹。在我正在运行代码的另一台计算机上,我映射了一个指向该文件夹的网络驱动器。 在我的代码中,我时不时地将文件从本地计算机传输到服务器。类似于这样:

  • 我尝试过不同的URI方案: 以下内容根本不起作用: null null

  • 问题内容: 在Java 1.4+中,有3种方法来中断在套接字I / O上阻塞的流: 如果套接字是使用常规构造函数创建的,则可以从单独的线程中关闭它。结果,在被阻塞的线程中抛出了a 。 如果套接字是使用创建的。(非阻塞I / O)—同样,可以从单独的线程关闭它,但是现在在阻塞的线程中引发了一个不同的异常()。 另外,在使用非阻塞I / O的情况下,有可能引发抛出中断的阻塞线程。使用旧式Java I

  • 我使用以下JCIFS代码将文件从本地磁盘复制到共享驱动器 复制10 mb文件需要10分钟以上。而当我直接复制同一个文件时,大约需要1分钟。我尝试了3种方法来复制文件(请参阅代码的注释部分),但没有一种方法显示出任何显著的差异。 是否有任何方法可以提高JCIFS的性能?

  • 问题内容: 该阿帕奇共享的I /函数O覆盖以前的文本文件。我想将数据附加到我的文件中。有什么我可以使用Commons I / O的方法吗?我可以使用Java的normal来做到这一点,但我对使用Commons I / O的情况感到好奇。 问题答案: 它已在Apache IO的2.1版本中实现。要将字符串追加到文件,只需在函数中传递 true 作为附加参数即可: FileUtils.writeStr

  • 主要内容:实例,从屏幕上读取用户输入,实例,从文件上读取内容,实例Scala 进行文件写操作,直接用的都是 java中 的 I/O 类 (java.io.File): 实例 import java. io. _ object Test {     def main (args : Array [String ] ) {       val writer = new PrintWriter ( new File ( "test.txt" ) )       wri