Java 如何从Apache';s UploadedFile类?
如何将上传的文件从apache的Java 如何从Apache';s UploadedFile类?,java,apache,file,file-upload,Java,Apache,File,File Upload,如何将上传的文件从apache的UploadedFile类转换为java.io.file类 查看这两个类的文档(和),这里有一个解决方案 由于可以访问上载文件的输入流,因此可以读入上载文件的数据,并将其写入临时位置或应用程序可以管理的其他位置 // assume that you have the UploadedFile object named uploadedFile InputStreamReader reader = new InputStreamReader(uploadedFile
UploadedFile
类转换为java.io.file
类 查看这两个类的文档(和),这里有一个解决方案
由于可以访问上载文件的输入流
,因此可以读入上载文件的数据,并将其写入临时位置或应用程序可以管理的其他位置
// assume that you have the UploadedFile object named uploadedFile
InputStreamReader reader = new InputStreamReader(uploadedFile.getInputStream());
int partition = 1024;
int length = 0;
int position = 0;
char[] buffer = new char[partition];
FileWriter fstream = new FileWriter("out.tmp");
do{
length = reader.read(buffer, position, partition)
fstream.write(buffer, position, length);
}while(length > 0);
File file = new File("out.tmp");
查看这两个类的文档(和),这里有一个解决方案 由于可以访问上载文件的
输入流
,因此可以读入上载文件的数据,并将其写入临时位置或应用程序可以管理的其他位置
// assume that you have the UploadedFile object named uploadedFile
InputStreamReader reader = new InputStreamReader(uploadedFile.getInputStream());
int partition = 1024;
int length = 0;
int position = 0;
char[] buffer = new char[partition];
FileWriter fstream = new FileWriter("out.tmp");
do{
length = reader.read(buffer, position, partition)
fstream.write(buffer, position, length);
}while(length > 0);
File file = new File("out.tmp");
最简单的方法是使用apachecommons
最简单的方法是使用apachecommons 此代码将以txt文件的形式返回上载的文件
此代码将以txt文件的形式返回上载的文件 下一行显示错误-while(length=reader.read(buffer,position,partition))类型不匹配:无法从int转换为boolean尝试此方法,但复制的文件已损坏。系统说“无法打开文件”。下一行显示错误-while(length=reader.read(buffer,position,partition))类型不匹配:无法从int转换为boolean尝试此方法,但复制的文件已损坏。系统显示“无法打开文件”。
InputStreamReader reader = new InputStreamReader(uploadedFile.getInputstream());
BufferedReader br = new BufferedReader(reader);
File f = new File("file.txt");
FileWriter fw = new FileWriter(f,false);
BufferedWriter bw = new BufferedWriter(fw);
while((line = br.readLine()) != null){
fw.write(line + System.lineSeparator());
}