私はuuencodeメソッドの使い方を理解しようとしている初心者ユーザーです。1つのテキストファイルのみをアップロードできるフォームがあります。これで、zipファイルのみがアップロードされるように見えます。バイナリファイルに対応するために残りのコードを変更する必要がないように、バイトを文字列に変換するuuencodeメソッドを含めようとしています。
元のコード:
public void SettingUpload(File inputfile) {
this.inputfile = inputfile;
}
に変更しました
public void SettingUpload(File inputfile){
UUEncoder uuec = new UUEncoder();
try{
InputStream is = new FileInputStream(inputfile);
OutputStream os = new FileOutputStream(inputfile);
uuec.encodeBuffer(is, os);
this.inputfile = inputfile;
}catch (Throwable error) {
reportError(error, "Error converting zipfile");
}
}
テストしたところ、java.io.EOFExceptionが発生しました。uuencodeされたファイルを取得し、手動でuuedcodeしました。解凍しようとしたら、
bash1:~>unzip s6b0c9e663c74f72941bd8271a5fac3b.bin
Archive: s6b0c9e663c74f72941bd8271a5fac3b.bin
End-of-central-directory signature not found. Either this file is not
a zipfile, or it constitutes one disk of a multi-part archive. In the
編集:
私はそれを次のように変更しました:
public void SettingUpload(File inputfile){
UUEncoder uuec = new UUEncoder();
try{
InputStream is = new FileInputStream(inputfile);
File OutputFile=new File("Output");
OutputFile.createNewFile();
OutputStream os = new FileOutputStream(OutputFile);
uuec.encodeBuffer(is, os);
this.OutputFile = OutputFile;
}catch (Throwable error) {
reportError(error, "Error converting zipfile");
}
}
次のエラーが発生します。
cannot find symbol
symbol : variable OutputFile