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 に答える