精华内容
下载资源
问答
  • Java 创建文件输出流的时候报错

    千次阅读 2017-04-02 15:34:24
    问题:在项目中我们用Apache的Mahout进行协同...但是在创建文件输出流的时候却捕获到了一个异常- -·package MicrosoftImageCup;import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.Fil

    问题:

    在项目中我们用Apache的Mahout进行协同过滤的推荐,需要打开一个csv文件并将数据库里的用户数据存入其中,从而进行书籍推荐。但是在创建文件输出流的时候却捕获到了一个异常- -·

    package MicrosoftImageCup;
    
    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.FileReader;
    import java.io.IOException;
    import java.io.OutputStreamWriter;
    import java.util.ArrayList;
    import java.util.List;
    
    
    public class CSVUtils {
    
        /**
         * 导入
         * 
         * @param file csv文件(路径+文件名),csv文件不存在会自动创建
         * @param dataList 数据
         * @return
         */
        public static boolean importCsv(File file, List<String> dataList){
            boolean isSucess=false;
            FileOutputStream out=null;
            OutputStreamWriter osw=null;
            BufferedWriter bw=null;
            try {
                out = new FileOutputStream(file);
                osw = new OutputStreamWriter(out);
                bw =new BufferedWriter(osw);
                if(dataList!=null && !dataList.isEmpty()){
                    for(String data : dataList){
                        bw.append(data).append("\r");
                    }
                }
    
                isSucess=true;
            } catch (Exception e) {
    
                isSucess=false;
            }finally{
    
                if(bw!=null){
                    try {
                        bw.close();
                        bw=null;
                    } catch (IOException e) {
                        e.printStackTrace();
                    } 
                }
                if(osw!=null){
                    try {
                        osw.close();
                        osw=null;
                    } catch (IOException e) {
                        e.printStackTrace();
                    } 
                }
                if(out!=null){
                    try {
                        out.close();
                        out=null;
                    } catch (IOException e) {
                        e.printStackTrace();
                    } 
                }
            }
    
            return isSucess;
        }
    
        /**
         * 导出
         * 
         * @param file csv文件(路径+文件)
         * @return
         */
        public static List<String> exportCsv(File file){
            List<String> dataList=new ArrayList<String>();
    
            BufferedReader br=null;
            try { 
                br = new BufferedReader(new FileReader(file));
                String line = ""; 
                while ((line = br.readLine()) != null) { 
                    dataList.add(line);
                }
            }catch (Exception e) {
    
            }finally{
                if(br!=null){
                    try {
                        br.close();
                        br=null;
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
    
            return dataList;
        }
    }
    

    out = new FileOutputStream(file);

    这句的时候报了异常

    原因:

    原来是我在运行的时候,那个CSV文件是在程序外大开着的。。。。
    = = 所以才报了错。。。

    展开全文
  • 输出流创建txt文件

    千次阅读 2019-11-07 20:12:01
    问题:利用输入在指定路径下创建file.txt,并且写入字符“文件创建成功!”。然后用记事本打开,查看写入是否正确。 效果: 代码: package _Stream; import java.io.File; import java.io.FileWriter; ...

    问题:利用输入流在指定路径下创建file.txt,并且写入字符“文件创建成功!”。然后用记事本打开,查看写入是否正确。

    效果:

    在这里插入图片描述

    代码:

    package _Stream;
    
    import java.io.File;
    import java.io.FileWriter;
    import java.io.IOException;
    
    public class Exam2 {
    
    	/**
    	 * @param args
    	 * @throws IOException
    	 */
    	public static void main(String[] args) throws IOException {
    		File file = new File("C:/Users/admin/Desktop/file.txt");
    		file.createNewFile();
    		FileWriter fileWriter = new FileWriter(file);
    		String str = "文件创建成功!";
    		fileWriter.write(str);
    		fileWriter.close();
    	}
    
    }
    
    
    展开全文
  • 文件输入流和输出流详解

    千次阅读 2018-06-24 14:30:38
    输出流:就是以程序为中心点,程序中的数组或者其他的可以存储数据的东西中的内容输出到硬盘文件中,用write方法,需要用flush方法刷新一下,确保程序中的数组内容写出到硬盘文件中 按照传输的数据划分为字节流和...

    按照流向划分为输入流和输出流

    输入流:就是以程序为中心点,硬盘上的文件内容流入到程序中可以存储数据的东西中比如说数组,用read方法

    输出流:就是以程序为中心点,程序中的数组或者其他的可以存储数据的东西中的内容输出到硬盘文件中,用write方法,需要用flush方法刷新一下,确保程序中的数组内容写出到硬盘文件中

     

    按照传输的数据划分为字节流和字符流

    字节流:二进制,可以一切文件 包括  纯文本 doc 音频、视频等等

    字符流:文本文件,只能处理纯文本

    用字节流就行

     

    文件输入流实例:

    package com.java;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.io.InputStream;


    public class demo5 {
         public static void main(String args[]){
        //1、建立联系   File对象
             File src =new File("F:/ld/lzy.txt");
             //2、选择流
             InputStream is =null; //提升作用域
             try {
                    is =new FileInputStream(src);
                    //3、操作 不断读取 缓冲数组
                    byte[] car =new byte[1024];
                    int len =0; //接收 实际读取大小
                    //循环读取
                    StringBuilder sb =new StringBuilder();
                    while(-1!=(len=is.read(car))){
                           //输出  字节数组转成字符串
                           String info =new String(car,0,len);//数组转字符串
                           sb.append(info);
                    }
                    System.out.println(sb.toString());
                    
                    
             } catch (FileNotFoundException e) {
                    e.printStackTrace();
                    System.out.println("文件不存在");
             } catch (IOException e) {
                    e.printStackTrace();
                    System.out.println("读取文件失败");
             }finally{
                    try {
                           //4、释放资源
                           if (null != is) {
                                  is.close();
                           }
                    } catch (Exception e2) {
                           System.out.println("关闭文件输入流失败");
                    }
             }
      }

     

    }

     

    文件输出流实例:

    package com.java;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.OutputStream;


    public class demo6 {
        public static void main(String args[]){
        File dest=new File("F:/ld/Lzy.txt");
        OutputStream os=null;
        try {
    os=new FileOutputStream(dest,true);
    String str="ni shi yi ge da sha bi";
    byte[] data=str.getBytes();//字符串转数组
    os.write(data,0,data.length);
    os.flush();
    } catch (FileNotFoundException e) {
    e.printStackTrace();
    System.out.println("文件未找到");
    }catch (IOException e) {
    System.out.println("文件写出失败");
    e.printStackTrace();
    }finally {
    if(null!=os){
    try {
    os.close();
    } catch (IOException e) {

    e.printStackTrace();
    System.out.println("关闭输出流失败");
    }
    }
    }    
        }
    }

    展开全文
  • 当我们使用Java处理文件时,经常会将输入流、输出流初始化在一起,(习惯方式) BufferedReader br = null; PrintWriter pw = null; try{ br = new BufferedReader(new FileReader(file)); pw = new PrintWriter...

    简单记录的一个容易出错的小问题:

    当我们使用Java处理文件时,经常会将输入流、输出流初始化在一起,(习惯方式)

    BufferedReader br = null;
    PrintWriter pw = null;
    try{
        br = new BufferedReader(new FileReader(file));
        pw = new PrintWriter(file);
        //读取文件内容代码
        //写入文件代码
    }catch(){
    
    }finally{
        关闭流
    }

    这种写法会发现该文件读取进来的内容已经为空,写出时当然为空了,最终和自己的预期不一致,然而程序也没有任何报错。后来了解到输入、输出流不同一起操作同一个文件,需改为输入流操作后,再使用输出流操作。即修改为如下代码:

    BufferedReader br = null;
    PrintWriter pw = null;
    try{
        br = new BufferedReader(new FileReader(file));
        //读取文件内容代码
        pw = new PrintWriter(file);
        //写入文件代码
    }catch(){
    
    }finally{
        关闭流
    }

    这样,就可以正常读取文件内容,处理后再使用输入流将文件输出到该文件。

    展开全文
  • C++ 流 文件操作(输入输出流

    万次阅读 多人点赞 2018-09-26 20:37:15
    到目前为止,我们已经使用了 iostream 标准库,它提供了 cin 和 cout 方法分别用于从标准输入读取和向标准输出写入。...该数据类型表示输出文件流,用于创建文件并向文件写入信息。 ifstream 该数据类型...
  • Java实现文件写入——IO流(输入输出流详解)

    万次阅读 多人点赞 2017-09-09 20:43:12
    流是一组有序的数据序列,根据操作的类型,分为输入流和输出流。 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;程序从输入流读取数据,向输出流写入数据。Java是面向对象的程序语言,每一个数据流都是一个...
  • C++文件输入输出流及标准I/O流类知识总结

    万次阅读 多人点赞 2018-10-13 23:42:06
    在学习使用C++进行STL模型文件的读写与显示时,遇到了一些文件读取的问题...C++所有的输入输出流(I/O)都是基于stream流类,包括iostream,fstream,stringstream等,其对象称为流对象,其之间的相互关系如下: ...
  • 1.首先,我们要分别建立一个文件输入流和文件输出流对象,用来读取和写入数据 2.然后,我们将读取的数据用一个字节数组接受,当read方法返回值不是-1时,说明文件就没有读完。 3.文件输出流调用write方法,将...
  • FileOutputStream:文件输出流是用于将数据写入 File 或 FileDescriptor 的输出流。文件是否可用或能否可以被创建取决于基础平台。特别是某些平台一次只允许一个 FileOutputStream(或其他文件写入对象)打开文件...
  • 文件字节流输出(文件写操作)

    千次阅读 2020-03-24 00:42:17
    文件字节流输出操作用到的包: import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io....1.1、outputStream:outputStream是一个抽象类,此抽象类时所有字节输出流的超类...
  • 文件输入流 和输出流

    2017-08-13 19:49:02
    文件输入和输出的操作 获取文件 java.io.File File类在创建对象的时候(调用构造方法)必须指定文件路径名 写路径名时/必须是//而用\则只要\。 File类只能查询文件的信息,但是不能对文件执行其他写入或读取操作 ...
  • Java的输出输出流详解及输入输出实例 文件的基本操作
  • 文件拷贝 import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java...
  • Java实现文件写入——输入输出流(IO流)

    万次阅读 多人点赞 2018-09-21 16:49:14
    流是一组有序的数据序列,根据操作类型,分为输入流和输出流。 程序从输入流读取数据,向输出流写入数据。 Java是面向对象的程序语言,每一个数据流都是一个对象,它们提供了各种支持“读入”与“写入”操作的流类...
  • Java 文件字节输出流

    2018-06-19 11:57:49
    关闭输出流如果对文件的写入需求比较简单,那么可以使用FileOutputStream类(文件字节输出流),它是OutputStream类的子类(亿字节为单位向文件类写入内容)。该类的实例方法是从OutputStream类继承来的。可以使用...
  • 在本章的第一节《Java什么是输入/输出流?》中就提到 Java 所有表示字节输入流类的父类是 InputStream,它是一个抽象类,因此继承它的子类要重新定义父类中的抽象方法。所有表示字节输出流类的父类是 OutputStream,...
  • Java输入输出流

    2019-03-31 01:02:51
    讲解Java输入输出流各个类的作用 博文链接:https://gaojianqi6.iteye.com/blog/1336626
  • FileWriter:用来写入字符文件的便捷类。...文件是否可用或是否可以被创建取决于底层平台。特别是某些平台一次只允许一个 FileWriter(或其他文件写入对象)打开文件进行写入。在这种情况下,如果所涉及的文件已经打...
  • 通过字节数组输入流将字节数组读到程序中,然后通过文件输出流在还原为文件。 以程序为中心 1.图片转为字节数组 2.将字节数组还原为文件 public class TestCombine { public static void main(String[] args) { ...
  • 1.编写应用程序,使用文件输入输出流实现文件的复制,被拷贝...2.编写应用程序,创建一个文件输出流,向文件中分别写入以下类型数据:int、double和字符串,然后创建一个文件输入流,将文件中写入的数据显示在屏幕上。
  • 【C++】输入流和输出流

    千次阅读 2019-07-15 00:15:21
    【C++】输入流和输出流一. 流的概念和流类库的结构二. 标准I/O流三. 标准输入流四. 标准输出流1. 字符输出2. 格式化输出五. 文件读写1. 文件流类和文件流对象2. C++打开文件3. C++关闭文件4. C++对ASCII文件的读写...
  • Java 不生成 Excel 文件直接输出流

    千次阅读 2019-09-11 16:58:25
    Java 不生成 Excel 文件直接输出流 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.0</version> </dependency> &...
  • 【Java 输入、输出流

    千次阅读 多人点赞 2021-04-15 17:02:47
    Java 输入、输出流(I/O流)1 File类1.1 文件的属性1.2 目录2 文件字节输入、输出流二级目录三级目录3 文件字符输入、输出流二级目录三级目录4 缓冲流二级目录三级目录 概述:输入、输出流提供一条通道程序,可以...
  • JAVA输入输出流实现文件复制 步骤使用eclipse 1.在D盘下创建一个文件abc.txt(被复制的文件); 2.执行如下代码,代码已注释 将D盘的文件复制到当前文件夹下 CopyFile.java //三步骤 1.创建对象 2.调用方法 3.关闭流...
  • 流是一组有序的数据序列,根据操作的类型,可分为输入流和输出流两种。I/O(Input/Output,输入/输出)流提供了一条通道程序,可以使用这条通道把源中的字节序列送到目的地。虽然 I/O 流通常与磁盘文件存取有关,...
  • Java_文件读写 File File: 作为java中的文件类,当我们需要操作文件的时候...File(File parent, String child): 根据 parent得抽象路径和 child提供的路径名字符串,合并成为新的路径字符串,然后根据此路径创建一个...
  • Java 文件输入字节输出字节

    千次阅读 2019-05-09 19:24:25
    文件输入字节输出字节FileInputStream 类和 FileOutputStream 类 ,他们创建的相应对象可以以字节为单位完成对文件输出和输入操作。 FileInputStream 常用的构造方法 构造方法 说明 publ...
  • 这几天学io,总发现一个问题,如果对一个已经存在的文件源用输出流对其再进行写的操作时,会覆盖掉原有文件的内容,而这里用a.txt举例,a.txt是已经存在的一个文件,并且里面有内容↓ 此时我们不管是使用字节...
  • Java利用IO流输出文件

    2019-04-24 18:04:21
    Java利用IO流输出文件1.设置文件路径2.创建备份文件对象3.声明所需要的对象4.关键代码5.最后需要倒序关闭所有的IO完整的代码 1.设置文件路径 String filePath = "xxx\\aaa.txt";//设置文件的路径 2.创建备份文件...
  • 文件流之文件输出流FileOutputStream

    千次阅读 2017-12-13 19:43:40
    FileOutputStream实现了向文件中写入byte数据的方法 二 打印数据到文件 package com.imooc.io; import java.io.FileOutputStream; import java.io.IOException; public class FileOutDemo1 { /** * @param ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 482,636
精华内容 193,054
关键字:

创建文件输出流