- PR -

MyfacesでWordファイルをアップロードすると文字化け

1
投稿者投稿内容
Mxfull
大ベテラン
会議室デビュー日: 2006/02/15
投稿数: 146
投稿日時: 2006-07-02 19:12
お世話になります。

MyFaceの<x:inputFileUpload…>タグでWordやExcelのファイルをアップロードすると
文字化けがあります。ただ、.txtファイルをアップロードすると問題がありません。
ActionMethodは下記ですが、どこに問題があるかご教授ください。

public void upload( String to) throws IOException{
try{
DataInputStream in=new DataInputStream(myFile.getInputStream());
PrintStream out=new PrintStream(new DataOutputStream(new FileOutputStream(filepath+"\\"+to)));
System.setIn(in);
System.setOut(out);
System.setProperties(myFile.getContentType());
System.setErr(out);
BufferedReader br=new BufferedReader(new InputStreamReader(System.in,"Shift-JIS"));

String s;
while((s=br.readLine())!=null)
System.out.println(s.toString());
out.close();
}catch(Exception er){}


}
あしゅ
ぬし
会議室デビュー日: 2005/08/05
投稿数: 613
投稿日時: 2006-07-02 21:23
Word/Excel形式のファイルをテキストとして読んでいるからです。
一度これらのファイルをテキストエディタで開いてみましょう。

どうしても内容を読み出したいのであれば、Jakara POI等を使いましょう。
単にファイルをサーバー上に保存したいのであれば、Reader/Writerを使わずに、
InputStream/OutputStreamのまま扱いましょう。

あと、質問とは関係ありませんが、
引用:
}catch(Exception er){}


この例外処理は何とかした方がいいと思いますよ。
1

スキルアップ/キャリアアップ(JOB@IT)