「java批处理上传文件」Java实现文件上传

博主:adminadmin 2022-11-28 04:43:08 50

今天给各位分享java批处理上传文件的知识,其中也会对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批处理上传文件的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-28,除非注明,否则均为首码项目网原创文章,转载请注明出处。