精华内容
下载资源
问答
  • 我正在从java服务器向远程Android客户端发送文件.我使用outputstream写字节.在读取这些字节时,read()方法会在流结束后继续尝试读取字节.如果我在服务器端关闭输出流,则读操作工作罚款.但我必须再次在同一个套接字上...

    我正在从java服务器向远程Android客户端发送文件.我使用outputstream写字节.在读取这些字节时,read()方法会在流结束后继续尝试读取字节.如果我在服务器端关闭输出流,则读操作工作罚款.但我必须再次在同一个套接字上写文件,所以无法关闭输出流的任何解决方案?

    注意:我的代码适用于共享单个文件

    编写文件的代码

    public static void writefile(String IP, String filepath, int port, OutputStream out) throws IOException {

    ByteFileConversion bfc = new ByteFileConversion();

    byte[] file = bfc.FileToByteConversion(filepath);

    out.write(file, 0, file.length);

    out.close(); // i donot want to close this and how can I tell reading side that stream is ended.

    System.out.println("WRITTEN");

    }

    我在这里阅读Android上的文件:

    public Bitmap fileReceived(InputStream is) {

    Bitmap bitmap = null;

    String baseDir = Environment.getExternalStorageDirectory().getAbsolutePath();

    String fileName = "a.png";

    String imageInSD = baseDir + File.separator + fileName;

    // System.out.println(imageInSD);

    if (is != null) {

    FileOutputStream fos = null;

    OutputStream bos = null;

    try {

    bos = new FileOutputStream(imageInSD);

    byte[] aByte = new byte[1024];

    int bytesRead;

    int index = 0;

    DataInputStream dis = new DataInputStream(is);

    while ((bytesRead = is.read(aByte)) > 0) {

    index = bytesRead + index;

    bos.write(aByte, 0, bytesRead);

    // index = index+ bytesRead;

    System.out.println("Loop" + aByte + " byte read are " + bytesRead + "whree index =" + index);

    }

    bos.flush();

    bos.close();

    Log.i("IMSERVICE", "out of loop");

    java.io.FileInputStream in = new FileInputStream(imageInSD);

    bitmap = BitmapFactory.decodeStream(in);

    bitmap = BitmapFactory.decodeFile(imageInSD);

    Log.i("IMSERVICE", "saved");

    // if (bitmap != null)

    // System.out.println("bitmap is "+ bitmap.toString());

    } catch (IOException ex) {

    // Do exception handling

    // Log.i("IMSERVICE", "exception ");

    System.out.println("ex");

    }

    }

    return bitmap;

    }

    实际上,我想重置套接字连接

    提前致谢

    展开全文
  • 23 importjava.io.BufferedOutputStream;4 importjava.io.File;5 importjava.io.FileOutputStream;6 importjava.io.IOException;7 importjava.io.InputStream;8 importjava.io.OutputStream;9 import...

    1 packageTOOLS;2

    3 importjava.io.BufferedOutputStream;4 importjava.io.File;5 importjava.io.FileOutputStream;6 importjava.io.IOException;7 importjava.io.InputStream;8 importjava.io.OutputStream;9 importjava.util.HashMap;10 importjava.util.Map;11

    12 importjavax.servlet.http.HttpServletRequest;13 importjavax.servlet.http.HttpServletResponse;14 importorg.apache.commons.fileupload.FileItemIterator;15 importorg.apache.commons.fileupload.FileItemStream;16 importorg.apache.commons.fileupload.FileUploadException;17 importorg.apache.commons.fileupload.servlet.ServletFileUpload;18 importorg.apache.commons.fileupload.util.Streams;19

    20 public classHTTPPostAcceptPhoto {21

    22 Map result = new HashMap();23

    24 public Mapanalyze(HttpServletRequest request,25 HttpServletResponse response,String imageurl) {26 if (ServletFileUpload.isMultipartContent(request)) {//判断是否含有文件

    27 insertPIC(request,imageurl);28 } else{29 txthandle(request, response);30 }31 returnresult;32 }33 //写出图片

    34 private voidinsertPIC(HttpServletRequest request,String url) {35

    36 ServletFileUpload upload = newServletFileUpload();37 FileItemIterator iter;38 try{39 iter =upload.getItemIterator(request);40 while(iter.hasNext()) {41 FileItemStream item =iter.next();42 String name = item.getFieldName();//filename

    43 InputStream stream =item.openStream();44 System.out.println("文本" +item.isFormField());45 if (item.isFormField()) {//如果是文本

    46 txt(result,name, Streams.asString(stream,"utf-8"));47 } else{48 String dir =request.getSession().getServletContext()49 .getRealPath(url);50 OutputStream fileos = null;51 byte[] buff = new byte[1];52 File image =newFile(dir, item.getName());53 System.out.println(" item.getName():"+item.getName());54 fileos = new BufferedOutputStream(newFileOutputStream(55 image));56

    57 while ((stream.read(buff)) != -1) {58 fileos.write(buff);59 }60 fileos.flush();61 fileos.close();62 result.put("imagename", item.getName());//返回图片名字

    63 }64 }65 } catch(FileUploadException e) {66 //TODO Auto-generated catch block

    67 System.out.println(e);68 } catch(IOException e) {69 //TODO Auto-generated catch block

    70 System.out.println(e);71 }72 }73 //有文本时的操作

    74 private void txt(Mapresult,String name, String asString){75 result.put(name, asString);76 }77 //纯文本操作

    78 public voidtxthandle(HttpServletRequest request,79 HttpServletResponse response){80 result =request.getParameterMap();81 }82

    83 }

    展开全文
  • * 概念描述: * JDK1.5之后的新特性 * 说明程序的 * 使用注解:@注解名称 * 作用分类: ①编写文档:通过代码里标识的注解生成文档【生成文档doc文档】 使用cmd 输入 javadoc 文件名称.java ②代码分析:通过代码里...

    一、注解:

    * 概念:说明程序的。给计算机看的

    * 注释:用文字描述程序的。给程序员看的

    * 定义:注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。

    * 概念描述:

    * JDK1.5之后的新特性

    * 说明程序的

    * 使用注解:@注解名称

    * 作用分类:

    ①编写文档:通过代码里标识的注解生成文档【生成文档doc文档】

    使用cmd 输入 javadoc 文件名称.java

    ②代码分析:通过代码里标识的注解对代码进行分析【使用反射】

    ③编译检查:通过代码里标识的注解让编译器能够实现基本的编译检查【Override】

    二、JDK中预定义的一些注解

    * @Override:检测被该注解标注的方法是否是继承自父类(接口)的

    * @Deprecated:该注解标注的内容,表示已过时

    * @SuppressWarnings:压制警告

    * 一般传递参数all @SuppressWarnings("all")

    三、 自定义注解

    * 格式:

    元注解

    public @interface 注解名称{

    属性列表;

    }

    * 本质:注解本质上就是一个接口,该接口默认继承Annotation接口

    * public interface MyAnno extends java.lang.annotation.Annotation {}

    * 属性:接口中的抽象方法

    * 要求:

    1. 属性的返回值类型有下列取值

    * 基本数据类型

    * String

    * 枚举

    * 注解

    * 以上类型的数组

    2. 定义了属性,在使用时需要给属性赋值

    1) 如果定义属性时,使用default关键字给属性默认初始化值,则使用注解时,可以不进行属性的赋值。

    2) 如果只有一个属性需要赋值,并且属性的名称是value,则value可以省略,直接定义值即可。

    3) 数组赋值时,值使用{}包裹。如果数组中只有一个值,则{}可以省略

    四、 元注解:用于描述注解的注解

    * @Target:描述注解能够作用的位置

    * ElementType取值:

    * TYPE:可以作用于类上

    * METHOD:可以作用于方法上

    * FIELD:可以作用于成员变量上

    * @Retention:描述注解被保留的阶段

    * @Retention(RetentionPolicy.RUNTIME):当前被描述的注解,会保留到class字节码文件中,并被JVM读取到

    * @Documented:描述注解是否被抽取到api文档中

    * @Inherited:描述注解是否被子类继承

    * 在程序使用(解析)注解:获取注解中定义的属性值

    1. 获取注解定义的位置的对象 (Class,Method,Field)

    2. 获取指定的注解

    * getAnnotation(Class)

    //其实就是在内存中生成了一个该注解接口的子类实现对象

    public class ProImpl implements Pro{

    public String className(){

    return "cn.itcast.annotation.Demo1";

    }

    public String methodName(){

    return "show";

    }

    }

    3. 调用注解中的抽象方法获取配置的属性值

    展开全文
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼目前Java获取文件大小的方法有两种:1、通过file的length()方法获取;2、通过流式方法获取;通过流式方法又有两种,分别是旧的java.io.*中FileInputStream的available()...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

    目前Java获取文件大小的方法有两种:

    1、通过file的length()方法获取;

    2、通过流式方法获取;

    通过流式方法又有两种,分别是旧的java.io.*中FileInputStream的available()方法和新的java..nio.*中的FileChannel

    下面依次介绍这几种方法:

    首先选择一个文件并查看这个文件在windows中显示的大小,为了测试准确性,我这里选取了一个大文件(超过2GB)

    可以看出这个文件的实际大小是3265574912Byte,下面通过代码来获取文件大小,并进行比较:

    一、通过length方法:

    1、创建一个文件:

    File file = new File("E:\\全部软件\\软件压缩包\\Windows7_W64_SP1_ent.iso");

    2、获取文件大小:

    /**

    * 获取文件长度

    * @param file

    */

    public static void getFileSize1(File file) {

    if (file.exists() && file.isFile()) {

    String fileName = file.getName();

    System.out.println("文件"+fileName+"的大小是:"+file.length());

    }

    }

    3、查看结果:

    文件Windows7_W64_SP1_ent.iso的大小是:3265574912

    可见,使用length方法获取的文件大小与windows中显示的大小一致!

    二、通过file.io.*中的流式方法获取

    1、创建一个文件

    依旧使用上面的文件

    File file = new File("E:\\全部软件\\软件压缩包\\Windows7_W64_SP1_ent.iso");

    2、使用available方法获取:

    /**

    * 根据java.io.*的流获取文件大小

    * @param file

    */

    public static void getFileSize2(File file){

    FileInputStream fis = null;

    try {

    if(file.exists() && file.isFile()){

    String fileName = file.getName();

    fis = new FileInputStream(file);

    System.out.println("文件"+fileName+"的大小是:"+fis.available()+"\n");

    }

    } catch (Exception e) {

    e.printStackTrace();

    }finally{

    if(null!=fis){

    try {

    fis.close();

    } catch (IOException e) {

    e.printStackTrace();

    }

    }

    }

    }

    3、查看结果:

    文件Windows7_W64_SP1_ent.iso的大小是:2147483647

    通过这种方法获取的文件大小是2147483647,很明显,这是int类型所能表示的最大值2^31-1,究其原因是因为文件的大小超过了int所能表示的最大值!!!

    更多资料及视频请加{774+594=142},此群只为JAVA技术交流群,群内会不定期更新资料~

    展开全文
  • 一、读txt文件public static String readFile(File file, String charset){//设置默认编码if(charset == null){charset = "UTF-8";}if(file.isFile() && file.exists()){try {FileInputStream ...
  • 发短信:不用连接,但需要知道对方的地址,客户端、服务端没有明确的...import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;/*** 发送端*/public class UdpClientDemo1 {p...
  • 正常返回的数据是流 可以读成图片 但是异常的时候返回的是对象(字段) 这种时候需要判断情况,就是说分别获取流文件的对象信息,而Response.body()这个只能用一次,所以推出这个解决方法 import okhttp3.*; import ...
  • 现在需要实现一个功能,点击上传文件,将txt文件上传,并提取出文件的内容,进行解析拆分,将数据插入到数据库。 //省略代码... let that=this; //在文件长传成功后,后台插入数据,页面需要重新加载列表数据 ...
  • 永不过时的编程语言——Java 编程开发。Java编程语言占比:据官方数据统计,在全球编程语言工程师的数量上,Java编程语言以900万的程序员数量位居首位。 而且很多软件的开发都离不开Java编程,因此其程序员的数量...
  • Java客户端通过HTTP协议上传文件, 服务端处理客户端请求, MultipartFile转File, 实现客户端上传文件的存储Java环境: JDK1.8开发环境: IDEASpringBoot: 2.2.0Maven: 3.6.3Java客户端通过HTTP协议上传文件// 引入pom...
  • java 读取文件和接收文件
  • java接收ios文件上传的示例代码发布于 2020-12-9|复制链接摘记: 本文实例为大家分享了java如何接收ios文件上传的具体代码,供大家参考,具体内容如下ios Multipart/form-data POST请求java后台spring接口一直出错,...
  • java TCP 接收文件(图片)

    千次阅读 2018-05-26 15:03:01
    本周受一同事之托,写了一个Java接收文件(本例为图片)的TCP服务端。转载请注明出处,谢谢。总共就一个类:Main.java, 几个注意点在代码之后,代码分享如下:import java.io.FileOutputStream; import java.io....
  • 客户端将文件转换为流发送:依赖的包:org.apache.httpcomponentshttpclient4.4org.apache.httpcomponentshttpmime4.4import com.alibaba.fastjson.JSONObject;import java.io.*;import java.net.HttpURLConnection;...
  • Java客户端通过HTTP协议上传文件, 服务端处理客户端请求, MultipartFile转File, 实现客户端上传文件的存储Java环境: JDK1.8开发环境: IDEASpringBoot: 2.2.0Maven: 3.6.3Java客户端通过HTTP协议上传文件// 引入pom...
  • } 传递参数时,如果用 @RequestParam("file")MultipartFile file进行接收,则需注意前面的@RequestParam("file")进行注解,否则获取不到该file对象,可能报如下错误: org.springframework.beans....
  • 主要为大家详细介绍了java接收ios文件上传的示例代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • java相关:利用HttpUrlConnection 上传 接收文件的实现方法发布于 2020-3-11|复制链接下面小妖就为大家带来一篇利用HttpUrlConnection 上传 接收文件的实现方法。小妖觉得挺不错的,现在就分享给大家,也给大家做个...
  • 1 importjava.awt.image.BufferedImage;2 importjava.io.BufferedInputStream;3 importjava.io.ByteArrayInputStream;4 importjava.io.IOException;5 importjava.io.InputStream;6 importjava.util.HashMap;7 import...
  • 文件上传把winC.jpg放在根目录下package com.zr.lesson02;import java.io.*;import java.net.ServerSocket;import java.net.Socket;import java.net.SocketImpl;public class TcpServerDemo02 {public static void ...
  • 本文实例为大家分享了java如何接收ios文件上传的具体代码,供大家参考,具体内容如下ios Multipart/form-data POST请求java后台spring接口一直出错,搞了两天,终于解决了,积累下来package com.xx.controller;...
  • Java客户端通过HTTP协议上传文件, 服务端处理客户端请求, MultipartFile转File, 实现客户端上传文件的存储 Java环境: JDK1.8 开发环境: IDEA SpringBoot: 2.2.0 Maven: 3.6.3 Java客户端通过HTTP协议上传文件 // ...
  • java接收文件并返回数据 @RequestMapping(value="/updateStatus") public Object updateStatus( HttpServletRequest request, HttpServletResponse response){ try { //接收流文件 ServletInputStream ...
  • java发送接收文件

    2020-09-02 11:24:37
    接收函数: public File getInputStream(String url, String filePath, String method, String fileName) throws Exception { if (StringUtils.isBlank(requestToken)) { throw new AppException("request Token...
  • Java代码 /*服务器端接收文件*/importjava.io.File;importjava.io.IOException;importjava.io.InputStream;importjava.io.RandomAccessFile;importjava.net.ServerSocket;importjava.net.Socket;importjavax.swing....
  • js上传文件 java后台接收文件 HTML 代码: <div class="input-chunk"> <div>输入文件:</div> <input type="file" value="选择文件" id="upload-file"> <...
  • 本篇介绍Java web开发的两个基本操作:接收前端上传的文件、从其他服务下载文件。后台下载文件很简单,所以首先看一下下载文件。下载文件从一个给定的下载地址下载文件很简单:首先用InputStream去读下载地址;在...
  • 来到医鸣的第一篇博客~~~本文分享的是使用HttpClient上传文件并在服务端使用SpringMVC接收文件1、需要的jar包:commons-httpclient-3.1.jarcommons-codec-1.9.jarcommons-lang-2.5.jar2、上传代码public void ...
  • 文件上传可以说是Web应用中很常用的一块,前几天打算研究一下HTML5提供的FileReader API,并且用Tomcat作为后端来实验大文件的上传(只是学校的课程作业必须用Java写,都不允许使用最好的编程语言php>.对面宿舍的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,705
精华内容 2,282
关键字:

java接收文件

java 订阅