「java批处理上传文件」Java实现文件上传
今天给各位分享java批处理上传文件的知识,其中也会对Java实现文件上传进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、谁能说说java批量上传文件的原理,并且给个例子吧 谢了
- 2、java 调用批处理文件或可执行文件
- 3、java编程 批处理
- 4、java中怎么把文件上传到服务器的指定路径?
- 5、如何制作批处理文件来运行java程序
- 6、java传参给批处理并调用该批处理
谁能说说java批量上传文件的原理,并且给个例子吧 谢了
刚学完多文件上传,希望对你有帮助。
多文件上传,就是把多个文件一起传到指定的位置,他和单文件上传类似,只需要改动几个地方而已即可。首先是上传页面,由于要上传多个文件,所以就必须有多个供用户选择的文件框,然后修改Action,把action中属性的类型修改为list。
action如下:
public class UploadActionMany extends ActionSupport{
private ListFile upload;
private ListString uploadFileName;
public String execute() throws Exception {
// TODO Auto-generated method stub
System.out.print(upload.size());
if(upload!=null){
for (int i = 0; i upload.size(); i++) {
InputStream is=new FileInputStream(upload.get(i)); OutputStream os=new FileOutputStream("d:\\upload\\"+getUploadFileName().get(i)); byte buffer[]=new byte[1024];
int count=0;
while((count=is.read(buffer))0){
os.write(buffer,0,count);
}
os.close();
is.close();
}
}
return SUCCESS;
}
省略set和get方法
jsp如下:
html
head
title文件上传/title
/head
body
s:form action="upload.action" method="post" enctype="multipart/form-data" s:file name="upload" label="上传的文件一"/s:file
s:file name="upload" label="上传的文件二"/s:file
s:file name="upload" label="上传的文件三"/s:file
s:submit value="上传"/s:submit
/s:form
/body
/html
希望对你有帮助,打代码不容易啊,记得给点分
java 调用批处理文件或可执行文件
用我这种方法就可以用java调用你想调用的程序,不管是exe,还是bat
public class Invoke {
/**
* @param args
*/
public static void main(String[] args) throws Exception{
// TODO Auto-generated method stub
Process process = Runtime.getRuntime().exec("c:/cmd.bat");
}
}
.bat里面写入
C:\\hp\\飞秋FeiQ.exe//这个路径就是你应用程序的路径
就可以运行 了,具体思路是相当于你在cmd里面直接输入C:\\hp\\飞秋FeiQ.exe 应该满意 了嘛
java编程 批处理
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Stack;
public class CheckFilebatch {
private static final String LOG_FILE = "F:/CheckFilebatch.log"; //报错的信息写在这个文件里。
private static final String FILE_HOME = "F:/niceStore /"; //要操作的物理目录
public static void main(String[] args) {
try {
ArrayListString fileListInDB = new ArrayListString();
FileWriter fw = new FileWriter(LOG_FILE);
// TODO
// 取得DB连接,执行sql“SELECT DISTINCT FILEPATH FROM ARR-FILE”,得到一个ResultSet
// 从DB中取出文件信息,放入fileListInDB 中,
ResultSet rs = null;
while (rs.next()) {
String path = rs.getString("File_Column");
File f = new File(path);
if (!f.exists()) {
// 不合法的报出错误信息。
System.out.println("file not exists: " + path);
fw.write("file not exists: " + path + "\n");
} else {
// 合法的,转化为路径名的规范路径名字符串,加入到fileListInDB中
fileListInDB.add(f.getCanonicalPath());
}
}
rs.close();
//
fw.write("\n\n\n\n");
//下面开始遍历物理目录
File home = new File(FILE_HOME);
StackFile tmpStack = new StackFile();
tmpStack.add(home);
while (!tmpStack.isEmpty()) {
File tmp = tmpStack.pop();
File[] childs = tmp.listFiles();
for (int i = 0; i childs.length; i++) {
File child = childs[i];
if (child.isDirectory()) {
tmpStack.push(child);
} else {
if (fileListInDB.contains(child.getCanonicalPath())) {
fileListInDB.remove(child.getCanonicalPath());
} else {
// 删除文件。
child.delete();
// 这里的操作如果把它移动到另一个目录里,作为备份,更好些。
fw.write("delete file: " + child.getCanonicalPath());
}
}
}
}
// 这个程序只考虑文件,不考虑目录
fw.close();
} catch (SQLException e) {
e.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
java中怎么把文件上传到服务器的指定路径?
文件从本地到服务器的功能,其实是为了解决目前浏览器不支持获取本地文件全路径。不得已而想到上传到服务器的固定目录,从而方便项目获取文件,进而使程序支持EXCEL批量导入数据。
java中文件上传到服务器的指定路径的代码:
在前台界面中输入:
form method="post" enctype="multipart/form-data" action="../manage/excelImport.do"
请选文件:input type="file" name="excelFile"
input type="submit" value="导入" onclick="return impExcel();"/
/form
action中获取前台传来数据并保存
/**
* excel 导入文件
* @return
* @throws IOException
*/
@RequestMapping("/usermanager/excelImport.do")
public String excelImport(
String filePath,
MultipartFile excelFile,HttpServletRequest request) throws IOException{
log.info("action:{} Method:{} start","usermanager","excelImport" );
if (excelFile != null){
String filename=excelFile.getOriginalFilename();
String a=request.getRealPath("u/cms/www/201509");
SaveFileFromInputStream(excelFile.getInputStream(),request.getRealPath("u/cms/www/201509"),filename);//保存到服务器的路径
}
log.info("action:{} Method:{} end","usermanager","excelImport" );
return "";
}
/**
* 将MultipartFile转化为file并保存到服务器上的某地
*/
public void SaveFileFromInputStream(InputStream stream,String path,String savefile) throws IOException
{
FileOutputStream fs=new FileOutputStream( path + "/"+ savefile);
System.out.println("------------"+path + "/"+ savefile);
byte[] buffer =new byte[1024*1024];
int bytesum = 0;
int byteread = 0;
while ((byteread=stream.read(buffer))!=-1)
{
bytesum+=byteread;
fs.write(buffer,0,byteread);
fs.flush();
}
fs.close();
stream.close();
}
如何制作批处理文件来运行java程序
操作步骤
1、新建一个文件夹,将要执行java程序(可使用eclipse导出的可执行的jar包)拷贝到该文件夹中;
2、将jdk中jre文件夹拷贝到要执行的java程序所在的文件夹;
3、在java程序所在的文件夹中新建一个bat文件。
bat文件样例:
样例一:
@echo off
set PATH=.;%CD%\SocketAdapter_lib\jre\bin
set CLASSPATH=.
start java.exe -jar SocketAdapter.jar
@pause
样例二:
@echo off
start SocketAdapter_lib\jre\bin\java -jar SocketAdapter.jar
@pause
注:
可以在没有安装JRE的环境中,运行Java应用程序
java.exe 具体使用参见cmd中输入java -help
javaw.exe 相对于 java.exe 执行java程序过程中MS-DOS不可见
对于安装了JRE的环境中,第2步可以省略,bat文件如下
样例三:
@echo off
java -jar SocketAdapter.jar
@pause
java传参给批处理并调用该批处理
Process makemenuconfig = Runtime.getRuntime().exec("cmd.exe /k start c:\\text1.bat "+"参数名");
这里调用系统命令行打开一个控制台窗口即cmd.exe,其中/k参数是让结果执行完毕之后不关闭cmd命令行窗口,改为/c则自动关闭,在cmd命令行中使用start命令打开一个批处理文件,批处理文件后面跟的即是参数
java批处理上传文件的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于Java实现文件上传、java批处理上传文件的信息别忘了在本站进行查找喔。
发布于:2022-11-28,除非注明,否则均为
原创文章,转载请注明出处。