java如何实现打开文件夹选择发送|java中如何实现从客户端发送文件到服务器端

|

Ⅰ java 如何打开文件夹(包括文件夹内的文件夹)!

文件太多,过滤了下后缀为.mp3的所有文件:

packagecn..file;importjava.io.File;/****@authorAdministrator**/publicclassRead{publicstaticvoidmain(String[]args){getFileName("D:");}publicstaticvoidgetFileName(Stringpath){Filefile=newFile(path);if(file.isDirectory()){File[]dirFile=file.listFiles();if(dirFile!=null){for(Filef:dirFile){if(f.isDirectory())getFileName(f.getAbsolutePath());else{if(f.getAbsolutePath().endsWith(".mp3")){System.out.println(f.getAbsolutePath());}}}}}}}

列出所有文件将if (f.getAbsolutePath().endsWith(".mp3"))删除!

结果:

D:KwDownloadxSong刘珂矣-半壶纱.mp3D:KwDownloadxSong刘珂矣-芙蓉雨.mp3D:KwDownloadxSong墨明棋妙-兰若词 (墨明棋妙版).mp3D:KwDownloadxSong孙子涵-唐人.mp3D:KwDownloadxSong孙露-不甘寂寞 – 中四 2012新概念.mp3D:KwDownloadxSong孙露-你是我今生最爱的女孩.mp3D:KwDownloadxSong孙露-我的爱情被你烧成灰.mp3D:KwDownloadxSong孙露-离别的秋天.mp3D:KwDownloadxSong小5-离殇.mp3D:KwDownloadxSong崔子格&徐誉滕-相思网.mp3D:KwDownloadxSong影视原声-杀破狼.mp3D:KwDownloadxSong心然-千年缘(《仙剑奇侠传四》游戏插曲).mp3D:KwDownloadxSong董贞-白素贞.mp3D:KwDownloadxSong蓝心湄-一见钟情.mp3D:KwDownloadxTemp5E1D065515DA6EE.mp3D:.mp3D:.mp3D:.mp3D:.mp3D:.mp3D:.mp3D:.mp3D:.mp3D:.mp3D:SoftWare编程软件android-sdk_r21.1-windowsandroid-sdk-windowsandroid-4samplesApiDemosesawest_cbr.mp3D:SoftWare编程软件android-sdk_r21.1-windowsandroid-sdk-windowsplatformsandroid-4samplesApiDemosesawest_cbr.mp3D:SoftWare编程软件android-sdk_r21.1-windowsandroid-sdk-windowssamplesandroid-17ApiDemosesawest_cbr.mp3

Ⅱ Java编程如何将A服务器中的文件发送到B服务器的指定文件夹。急急急求大神直接附上详细代码,非常感谢你了

给一种方式做参考,我这边类似。是将A作为客户端,上传文件到服务器B,服务器B以struts接受请求做处理。使用httpclient。

/***将文件上传到服务端,并接收其返回信息*@paramclientDefaultHttpClient*@paramurl服务器url:如:http://localhost:8080/test/upload.action*@paramfilePath文件路径*@paramparams上传参数*@paramencode编码集,主要用来解析返回的response中的信息*@return解析出的返回信息,如服务器那边的成功提示:“success”*/(DefaultHttpClientclient,Stringurl,StringfilePath,Map<String,String>params,Stringencode){MultipartEntitympEntity=newMultipartEntity();if(params!=null&&!params.isEmpty()){for(Map.Entry<String,String>entry:params.entrySet()){//参数名StringBodypar;try{par=newStringBody(entry.getValue().toString());mpEntity.addPart(entry.getKey(),par);}catch(UnsupportedEncodingExceptione){e.printStackTrace();}}}//图片if(!filePath.equals("")){FileBodyfile=newFileBody(newFile(filePath));mpEntity.addPart("file",file);}//使用HttpPost对象设置发送的URL路径HttpPostpost=newHttpPost(url);post.setEntity(mpEntity);//创建一个浏览器对象,以把POST对象向服务器发送,并返回响应消息try{HttpResponseresponse=client.execute(post);if(response.getStatusLine().getStatusCode()==HttpStatus.SC_OK){//封装了服务器端返回的数据HttpEntityresponseEntity=response.getEntity();//*******这里是对服务器返回的session进行记录的操作,以获取sessionId//CookieStoremCookieStore=((DefaultHttpClient)client).getCookieStore();//List<Cookie>cookies=mCookieStore.getCookies();//for(inti=0;i<cookies.size();i++){////如果cookies头和"JSESSIONID"就记录sessionID//if("JSESSIONID".equals(cookies.get(i).getName())){//StringsessionId=cookies.get(i).getValue();//break;//}//}//*******完成InputStreamis=responseEntity.getContent();returnchangeInputStream(responseEntity.getContent(),encode);}}catch(ClientProtocolExceptione){e.printStackTrace();}catch(IOExceptione){e.printStackTrace();}return"";}/****@paraminputStream*@paramencode*@return*/(InputStreaminputStream,Stringencode){=newByteArrayOutputStream();intlen=0;byte[]date=newbyte[1024];Stringresult="";try{while((len=inputStream.read(date))!=-1){outputStream.write(date,0,len);}result=newString(outputStream.toByteArray(),encode);returnresult;}catch(IOExceptione){e.printStackTrace();}returnnull;}

需要的参数client,new 一个就可以了。

DefaultHttpClientclient=newDefaultHttpClient();

类似参考网上有很多,不过大都是你转载他得,他转载你的,能用的不多。

Ⅲ 怎么用Java实现打开文件(打开方法)

Process p = Runtime.getRuntime().exec("notepad");.

可以用java执行cmd命令的方式打开程序,比如上面是打开windows记事本的指令。如版果你要打开其他文权件,那就把notepad改成对应的文件名或程序名

Ⅳ 【java】如何实现“打开文件夹”对话框

JFileChooser类吧,在按钮监听器ActionListener的actionPerformed()方法里添加以下代码就可以了,这样一点击这个按钮,就会弹出来:JFileChooser chooser = new JFileChooser();// DIRECTORIES_ONLY就是只选目录chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);int r = chooser.showOpenDialog(null);

Ⅳ java中如何实现从客户端发送文件到服务器端

服务器端源码:import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.net.ServerSocket;import java.net.Socket;/** * * 文件名:ServerReceive.java * 实现功能:作为服务器接收客户端发送的文件 * * 具体实现过程: * 1、建立SocketServer,等待客户端的连接 * 2、当有客户端连接的时候,按照双方的约定,这时要读取一行数据 * 其中保存客户端要发送的文件名和文件大小信息 * 3、根据文件名在本地创建文件,并建立好流通信 * 4、循环接收数据包,将数据包写入文件 * 5、当接收数据的长度等于提前文件发过来的文件长度,即表示文件接收完毕,关闭文件 * 6、文件接收工作结束public class ServerReceive { public static void main(String[] args) { /**与服务器建立连接的通信句柄*/ ServerSocket ss = null; Socket s = null; /**定义用于在接收后在本地创建的文件对象和文件输出流对象*/ File file = null; FileOutputStream fos = null; /**定义输入流,使用socket的inputStream对数据包进行输入*/ InputStream is = null; /**定义byte数组来作为数据包的存储数据包*/ byte[] buffer = new byte[4096 * 5]; /**用来接收文件发送请求的字符串*/ String comm = null;/**建立socekt通信,等待服务器进行连接*/ try { ss = new ServerSocket(4004); s = ss.accept(); } catch (IOException e) { e.printStackTrace(); }/**读取一行客户端发送过来的约定信息*/ try { InputStreamReader isr = new InputStreamReader(s.getInputStream()); BufferedReader br = new BufferedReader(isr); comm = br.readLine(); } catch (IOException e) { System.out.println("服务器与客户端断开连接"); } /**开始解析客户端发送过来的请求命令*/ int index = comm.indexOf("/#"); /**判断协议是否为发送文件的协议*/ String xieyi = comm.substring(0, index); if(!xieyi.equals("111")){ System.out.println("服务器收到的协议码不正确"); return; } /**解析出文件的名字和大小*/ comm = comm.substring(index + 2); index = comm.indexOf("/#"); String filename = comm.substring(0, index).trim(); String filesize = comm.substring(index + 2).trim();/**创建空文件,用来进行接收文件*/ file = new File(filename); if(!file.exists()){ try { file.createNewFile(); } catch (IOException e) { System.out.println("服务器端创建文件失败"); } }else{ /**在此也可以询问是否覆盖*/ System.out.println("本路径已存在相同文件,进行覆盖"); } /**【以上就是客户端代码中写到的服务器的准备部分】*//** * 服务器接收文件的关键代码*/ try { /**将文件包装到文件输出流对象中*/ fos = new FileOutputStream(file); long file_size = Long.parseLong(filesize); is = s.getInputStream(); /**size为每次接收数据包的长度*/ int size = 0; /**count用来记录已接收到文件的长度*/ long count = 0; /**使用while循环接收数据包*/ while(count < file_size){ /**从输入流中读取一个数据包*/ size = is.read(buffer); /**将刚刚读取的数据包写到本地文件中去*/ fos.write(buffer, 0, size); fos.flush(); /**将已接收到文件的长度+size*/ count += size; System.out.println("服务器端接收到数据包,大小为" + size); } } catch (FileNotFoundException e) { System.out.println("服务器写文件失败"); } catch (IOException e) { System.out.println("服务器:客户端断开连接"); }finally{ /** * 将打开的文件关闭 * 如有需要,也可以在此关闭socket连接 * */ try { if(fos != null) fos.close(); } catch (IOException e) { e.printStackTrace(); }//catch (IOException e) }//finally }//public static void main(String[] args)}//public class ServerReceive客户端源码:import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.OutputStream;import java.io.PrintStream;import java.net.Socket;/** * * 文件名:ClientSend.java * 实现功能:作为客户端向服务器发送一个文件 * * 具体实现过程: * 1、建立与服务器端的连接,IP:127.0.0.1, port:4004 * 2、将文件的名字和大小通过自定义的文件传输协议,发送到服务器 * 3、循环读取本地文件,将文件打包发送到数据输出流中 * 4、关闭文件,结束传输 * * */ public class ClientSend { public static void main(String[] args) { /**与服务器建立连接的通信句柄*/ Socket s = null; /**定义文件对象,即为要发送的文件 * 如果使用绝对路径,不要忘记使用'/'和'\'的区别 * 具体区别,请读者自行查询 * */ File sendfile = new File("API.CHM"); /**定义文件输入流,用来打开、读取即将要发送的文件*/ FileInputStream fis = null; /**定义byte数组来作为数据包的存储数据包*/ byte[] buffer = new byte[4096 * 5]; /**定义输出流,使用socket的outputStream对数据包进行输出*/ OutputStream os = null;/**检查要发送的文件是否存在*/ if(!sendfile.exists()){ System.out.println("客户端:要发送的文件不存在"); return; }/**与服务器建立连接*/ try { s = new Socket("127.0.0.1", 4004); }catch (IOException e) { System.out.println("未连接到服务器"); } /**用文件对象初始化fis对象 * 以便于可以提取出文件的大小 * */ try { fis = new FileInputStream(sendfile); } catch (FileNotFoundException e1) { e1.printStackTrace(); }/**首先先向服务器发送关于文件的信息,以便于服务器进行接收的相关准备工作 * 具体的准备工作,请查看服务器代码。 * * 发送的内容包括:发送文件协议码(此处为111)/#文件名(带后缀名)/#文件大小 * */ try { PrintStream ps = new PrintStream(s.getOutputStream()); ps.println("111/#" + sendfile.getName() + "/#" + fis.available()); ps.flush(); } catch (IOException e) { System.out.println("服务器连接中断"); }/** * 此处睡眠2s,等待服务器把相关的工作准备好 * 也是为了保证网络的延迟 * 读者可自行选择添加此代码 * */ try { Thread.sleep(2000); } catch (InterruptedException e1) { e1.printStackTrace(); }/**之前的准备工作结束之后 * 下面就是文件传输的关键代码 * */ try { /**获取socket的OutputStream,以便向其中写入数据包*/ os = s.getOutputStream(); /** size 用来记录每次读取文件的大小*/ int size = 0; /**使用while循环读取文件,直到文件读取结束*/ while((size = fis.read(buffer)) != -1){ System.out.println("客户端发送数据包,大小为" + size); /**向输出流中写入刚刚读到的数据包*/ os.write(buffer, 0, size); /**刷新一下*/ os.flush(); } } catch (FileNotFoundException e) { System.out.println("客户端读取文件出错"); } catch (IOException e) { System.out.println("客户端输出文件出错"); }finally{ /** * 将打开的文件关闭 * 如有需要,也可以在此关闭socket连接 * */ try { if(fis != null) fis.close(); } catch (IOException e) { System.out.println("客户端文件关闭出错"); }//catch (IOException e) }//finally }//public static void main(String[] args)}//public class ClientSend

Ⅵ java代码怎么实现打开文件(.xls .doc .txt)

java有个类Desktop(java.awt.Desktop),可以满足你的需求,比如下面的代码:try { Desktop.getDesktop().open(new File("D:\\1.txt"));} catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace();}路径为本地磁盘的全路径,就可以打开D盘下的1.txt,希望能帮到你。

Ⅶ JAVA中如何实现文件分发功能

这个不用什么技术来做。我说说我的想法。每个人有个待收件表,当我分发一个文件给某些人的时候,这些人的待收件表就会有数据,数据关联的对象是 要分发的文件(如ID),以及状态(表示接收人查看或接收状态)。 那么,每个接收人一进入这个系统,或者一进入这个待收件模块,系统自动搜索是否有未接收的文件(根据上面说的状态判断),如果有,则弹出提示框。接收人去接收,则根据这个文件(ID)去服务器获取这个文件的下载路径。 希望能帮到你。

Ⅷ 怎么用java封装一个文件夹类,来实现发送文件夹功能

给你个思路先通过File的isDirectory判断是否为文件夹如果是则创建文件夹,否则下载文件创建文件夹后在寻找子文件夹中的内容同样是上面的过程可以思考使用递归来实现其实文件夹上传就是创建好文件夹在下载里面的文件,如果有子文件夹在创建子文件夹并下载子文件夹中的文件。多半使用递归来实现

Ⅸ java 如何打开一个文件夹

//给个不一样的,打开文件夹正解,你的问题可能有歧义…利用runtime调用cmdtry{String[]cmd=newString[5];Stringurl="D:\\ProgramFiles\\download";cmd[0]="cmd";cmd[1]="/c";cmd[2]="start";cmd[3]="";cmd[4]=url;Runtime.getRuntime().exec(cmd);}catch(IOExceptione){e.printStackTrace();}

Ⅹ Java打开指定文件

java打开文件夹使用方法:String strTmp= "D:\abc\";Runtime.getRuntime().exec("explorer.exe" + strTmp);java读取文件使用方法:import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; public class OpenFile { public static void main(String args[]) { try { BufferedReader br = new BufferedReader(new FileReader("c://EmailSpider.java")); String line = ""; while((line=br.readLine()) != null) { System.out.println(line); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }


赞 (0)