`

InputStream,String,File 三者之间的相互转化

阅读更多

1. String --> InputStream
InputStream String2InputStream(String str){
   ByteArrayInputStream stream = new ByteArrayInputStream(str.getBytes());
   return stream;
}

2. InputStream --> String
String inputStream2String(InputStream is){
   BufferedReader in = new BufferedReader(new InputStreamReader(is));
   StringBuffer buffer = new StringBuffer();
   String line = "";
   while ((line = in.readLine()) != null){
     buffer.append(line);
   }
   return buffer.toString();
}

今天从网上看到了另一种方法,特拿来分享

String all_content=null;
        try {
        all_content =new String();

         InputStream ins = 获取的输入流;

          ByteArrayOutputStream outputstream = new ByteArrayOutputStream();
        byte[] str_b = new byte[1024];
        int i = -1;
        while ((i=ins.read(str_b)) > 0) {
           outputstream.write(str_b,0,i);
        }
        all_content = outputstream.toString();
   } catch (Exception e) {

e.printStackTrace();
      }

此两种方法上面一种更快,但是比较耗内存,后者速度慢,耗资源少

3、File --> InputStream
InputStream in = new InputStream(new FileInputStream(File));

4、InputStream --> File
public void inputstreamtofile(InputStream ins,File file){
OutputStream os = new FileOutputStream(file);
int bytesRead = 0;
byte[] buffer = new byte[8192];
while ((bytesRead = ins.read(buffer, 0, 8192)) != -1) {
os.write(buffer, 0, bytesRead);
}
os.close();
ins.close();
}

分享到:
评论

相关推荐

    java 中InputStream,String,File之间的相互转化对比

    以下是关于这三者之间相互转化的方法及对比: 1. **String -> InputStream** 将一个String转化为InputStream,主要是将字符串转换成字节数组,然后创建一个ByteArrayInputStream。这种方法简单快捷,但会占用一定...

    java程序基础练习

    12. **输入/输出(I/O)**:学习者需要了解如何使用Java的InputStream和OutputStream进行文件读写,以及BufferedReader和PrintWriter等高级I/O流。 13. **集合框架**:ArrayList、LinkedList、HashSet、HashMap等是...

    JAVA程序设计教程第六版课本源码

    例如,File类用于文件操作,InputStream和OutputStream代表字节流,Reader和Writer代表字符流。 6. **集合框架**:Java集合框架包括List、Set、Queue等接口及ArrayList、HashSet、LinkedList等实现类,它们提供了...

    JavaSe总结

    变量有三种类型:局部变量、实例变量和静态变量。它们分别位于方法内、类中但不在方法内以及使用static修饰符声明。 ### 控制台输入 Java中可以通过`Scanner`类从控制台接收用户输入。例如: ```java import java....

    java代码-实训7软三41号(3)

    5. **输入/输出(I/O)**:了解如何使用File类进行文件操作,以及InputStream和OutputStream进行数据的读写。 6. **函数**:学习如何定义和调用自定义函数,以及函数参数和返回值的概念。 7. **字符串处理**:掌握...

    Java语言程序设计

    - **文件操作**:File类提供了创建、删除、读写文件的方法,FileInputStream和FileOutputStream用于文件的读写。 #### 八、线程与对象串行化 **8.1 线程** - **线程概念**:线程是程序执行的最小单位,一个进程...

    Mid_Term_EAD2

    Java提供了丰富的类库进行文件操作,如java.io包中的File类用于文件的创建、删除、重命名等操作,以及InputStream和OutputStream家族用于读写文件。在"Mid_Term_EAD2-main"中,可能涉及读取或写入文件,如日志记录、...

    JavaProject:练习项目以熟悉Java的基本原理

    JavaProject是一个旨在帮助学习者巩固和理解Java编程基础的实践项目。通过参与这个项目,你可以深入探索Java语言的核心概念,并将理论知识转化为实际操作技能。下面我们将详细讨论这个项目涉及的一些关键知识点。 1...

    疯狂JAVA讲义

    9.3.2 String、StringBuffer和StringBuilder类 322 9.3.3 Math类 327 9.3.4 Random类 328 9.3.5 BigDecimal类 330 9.4 处理日期的类 333 9.4.1 Date类 333 9.4.2 Calendar类 334 9.4.3 TimeZone类 337 9.5 ...

Global site tag (gtag.js) - Google Analytics