我的代码是:
public class RemotePlay {
static final String USER_NAME = "bwisniewski";
static final String PASSWORD = "xxx";
static final String NETWORK_FOLDER = "smb://192.168.1.141/ADMIN$/";
public static void main(String[] args) throws IOException, InterruptedException {
// TODO Auto-generated method stub
String fileContent = "This is a test File";
new RemotePlay().copyFiles(fileContent, "testFile1.txt");
}
public boolean copyFiles(String fileContent, String fileName) {
boolean successful = false;
try{
String user = USER_NAME + ":" + PASSWORD;
System.out.println("User: "+user);
NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication(user);
String path = NETWORK_FOLDER + fileName;
System.out.println("Path: "+path);
SmbFile sFile = new SmbFile(path, auth);
SmbFileOutputStream sfos = new SmbFileOutputStream(sFile);
sfos.write(fileContent.getBytes());
successful = true;
System.out.println("Successful "+successful);
}
catch(Exception e) {
successful = false;
e.printStackTrace();
}
return successful;
}}
如何更改它以将exe文件发送到ADMIN $共享。我更喜欢使用这种方法,因为我必须对远程PC进行身份验证。如果你有更好的想法将文件复制到ADMIN $ share我很期待听到它。
感谢。
答案 0 :(得分:0)
sfos.write(fileContent.getBytes());
如果您的数据是文本,那么为什么不使用PrintWriter写下您的文件
public static void main(String [] args) throws Exception { // temporary
File fileOne = new File("testfile1.txt");
PrintWriter writer = new PrintWriter(fileOne);
// write down data
writer.println("This is a test File");
// free resources
writer.flush();
writer.close();
}
关于扩展程序,您可以在创建文件时使用所需的任何扩展程序,它仍然可以保存数据,并且如果您将其重命名为硬盘驱动器上的正确扩展名,则可以打开该数据
如果您将文件命名为testfile.exe,它仍然会保存您的数据,但是当您双击它时,它将无法工作,直到您将其重命名为testfile.txt(如果扩展名与数据中的数据兼容,它将起作用)文件)