0

我的代码是:

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$ 共享,我期待听到它。

谢谢。

4

1 回答 1

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(或者如果扩展名与文件中的数据兼容,它将工作)

于 2013-09-04T21:29:33.577 回答