<form action="/upload" method="post" enctype="multipart/form-data">
文件:<input type="file" name="testUpload"/>
<input type="submit" />
</form>
2java代码
@RequestMapping(value = "upload")
@ResponseBody
public String upload(@RequestParam("testUpload") MultipartFile file) {
if (fileisEmpty()) {
return "文件为空";
}
// 获取文件名
String fileName = filegetOriginalFilename();
Systemoutprintln("上传的文件名为:" + fileName);
// 获取文件的后缀名
String suffixName = fileNamesubstring(fileNamelastIndexOf(""));
Systemoutprintln("上传的后缀名为:" + suffixName);
// 文件上传后的路径
String filePath = "E://test//";
File dest = new File(filePath + fileName);
// 检测是否存在目录
if (!destgetParentFile()exists()) {
destgetParentFile()mkdirs();
}
try {
filetransferTo(dest);
return "上传成功";
} catch (IllegalStateException e) {
eprintStackTrace();
} catch (IOException e) {
eprintStackTrace();
}
return "上传失败";
}1开发环境及框架的搭建。(基于SSH开发框架)
2数据库建表,表应该有一个字段用来存储文件在服务区上的存储路径。
3mapxml文件
4Actionxml文件
5写好实体类及get()set()方法
6DAO层
7Action()实现,Action()里面需要实现文件的上传服务器功能和路径存储数据库功能。
8前端页面,前端页面需要实现文件的选择功能。
import javaioBufferedReader;
import javaioBufferedWriter;
import javaioFile;
import javaioFileNotFoundException;
import javaioFileReader;
import javaioFileWriter;
import javaioIOException;
public class TxtReader {
public static void main(String[] args) {
String inputTxtPath = "d:/testtxt"; // 需要读取的 TXT 的路径
String outputTarPath = "e:/testtar"; // 需要写到哪的路径文件可以不存在,代码创建
String[] line = readTxt(inputTxtPath); // 只需要动态改变上面两个地址即可
if(line != null){
boolean sign = writeTar(outputTarPath, line);
if (sign) {
Systemoutprintln("写入成功");
} else {
Systemoutprintln("写入失败");
}
}
}
/
读取TXT方法
@param txtPath
文件的路径
@return 返回一个拆分好的数组
/
public static String[] readTxt(String txtPath) {
String[] line = null;
try {
FileReader reader = new FileReader(new File(txtPath));
BufferedReader buffReader = new BufferedReader(reader);
String content = buffReaderreadLine();
line = contentsplit(" ");
buffReaderclose();
readerclose();
} catch (FileNotFoundException e) {
Systemoutprintln("txt 文件不存在,无法读取");
} catch (IOException e) {
eprintStackTrace();
}
return line;
}
/
写入 Tar 方法
@param tarPath
写到什么地方(如果空则创建)
@param line
读取TXT方法获得了数组
@return 返回 true 或 false
/
public static boolean writeTar(String tarPath, String[] line) {
boolean sign = false;
if (line != null) {
try {
FileWriter writer = new FileWriter(new File(tarPath));
BufferedWriter buffWriter = new BufferedWriter(writer);
for (int i = 0; i < linelength; i++) {
if (!line[i]equals(""))
buffWriterwrite(line[i] + "\r\n");
}
buffWriterflush();
buffWriterclose();
writerclose();
sign = true;
} catch (IOException e) {
eprintStackTrace();
}
}
return sign;
}
}
最后:
希望能帮到你,以后提JAVA的问题请到JAVA分类。
有什么问题 Hi 我,我的Hi 在线。
明显是IE的安全限制导致你程序获取路径有问题。解决方案如下:
修改IE设置,在InterNet属性中将允许文件下载启用即可。这个方法只能是暂时的,因为不同客户端的IE配置情况不同。
页面采用form提交方式,这个问题我在easyui的框架中碰到并解决。如果你request的话肯定是不行的。
希望能帮到你,如果说的不对请见谅。
可以使用flash插件载入,或者使用比较成熟的h5的js插件>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)