Javaのファイルインポートエクスポート実装
2062 ワード
一.Javaファイルエクスポート:1.ファイル内容をDTOに書き込む2.FacesContextで画面のInstanceを取得する(Importが必要):
3.Response取得:
4.ダウンロード処理
4.1 pathとfileNameでダウンロードファイルを取得する:
4.2ファイルの読み込み:
5.終了後にJSFに通知する.
二.Javaファイルのインポート:
1.file Uploadでファイルを取得するfile Byte
2.DTOにファイル内容を書き込む:
3.一時ファイルを作成し、パスを取得する:
4.BufferedReaderでファイルを読み込みます.
FacesContext faceContext = FacesContext.getCurrentInstance();
3.Response取得:
HttpServletResponse response = (HttpServletResponse)facesContext.getExternalContext().getResponse();
4.ダウンロード処理
4.1 pathとfileNameでダウンロードファイルを取得する:
DownloadResponse.writeOther(response, downloadfilepath, downloadfilename);
4.2ファイルの読み込み:
BufferedInputStream inputStream = new BufferedInputStream(new FileInputStream(downloadFile));
OutputStream outputStream = response.getOutputStream();
int size = inputStream.available();
while(size > 0){
byte[] bytes = new byte[size];
inputStream.read(bytes);
outputStream.write(bytes);
size = inputStream.available();
}
5.終了後にJSFに通知する.
facesContext.responseComplete();
二.Javaファイルのインポート:
1.file Uploadでファイルを取得するfile Byte
2.DTOにファイル内容を書き込む:
String strData = new String(inDTO.getUpload.file_byte(), Charset.forName(SwCharset.TXT_Default.getCharsetName);
3.一時ファイルを作成し、パスを取得する:
File tempFile = TempFile.create(ID, PageID, strData, SwCharset.UTF8);
// NAS_ID:
String nasID = nasManager.create(ID, PageID, tempFile.getPath(), NASFileType.CSV.getFileType(), "INSERT.csv", " ");
// NAS :
String nasFilePath = nasManager.getNasFileInfo(nasID).getAbsolutePath();
4.BufferedReaderでファイルを読み込みます.
List> results = new ArrayList>();
BufferedReader reader = new BufferedReader(new FileReader(filePath));
CSVBufferReader inReader = new CSVBufferedReader(reader);
List tmpRow = null;
CSVLineIterator csvLine = inReader.readCSVLine();
while(csvLine != null){
tmpRow = new ArrayList();
while(csvLine.hasNext() == true){
tmpRow.add(csvLine.next());
}
resut.add(tmpRow);
csvLine = inReader.readCSVLine();
}
return result;