数据在本地文件的写入和读取

以基于Map接口的HashMap类的集合为 例

1、 判断文件是否存在

public void isRight(){                   //判断文件是否存在
        if(!myfile.exists()){
            try {
                myfile.createNewFile();  //不存在就要建立
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                System.out.println("文件已建立!");
            }
        }
    }

2、将集合里的对象存到文件

public void WriteFile(){
   for(int i=0;i<map.size();i++){                    // 一定要遍历
       try{
              fos = new FileOutputFile("Study.txt");
              oos = new ObjectOutPutStream(fos);
              oos.writeObject(map);

         }catch{

         }finaly{
             fos.close();
             oos.close();
         }
    }
}

3、将文件里的对象存入集合

public void readObject(){                //从文件中读取学生信息

            try {                         //  ② 为什么 读取不需要时不需要遍历?
                fis = new FileInputStream("Student.txt");
                if(myfile.length() == 0){
                    fis.close();
                    return ;
                }else{
                    ois = new ObjectInputStream(fis);
                    students = (HashMap<String, Student>) ois.readObject();
                    fis.close();
                    ois.close();
                    System.out.println("学生信息读取成功!");
                }
            } catch (Exception e) {
                e.printStackTrace();
            }

    }
时间: 2024-12-24 07:24:18

数据在本地文件的写入和读取的相关文章

文件的写入,读取和关闭

我们今天要学的知识是关于文件的写入,读取和关闭.读取写入比较重要,关闭了解一下就好. 1.读取某一行:当我们需要读取某一行字符的时候,我们可以使用readline这个方法,我们也可以对readline进行赋值,这样可以规定最多多去多少个字符.比如lsf文件的某一行的前五个字符是hello,我们输入命令:lsf.readlinr(5),得到的结果就是hello,如果我们想要读取全部行的话,可以使用命令:readlines. 2.写入行:写入行在这里我们使用的方法是writelines,这个方法接受

第十七章,txt文件的写入和读取数据结合练习(C++)

#include <iostream> #include <fstream> int main(int argc, char** argv) { std::string str; //--------1.向文件中写入数据-------- std::cout<<"请输入您希望输入的数据,按"回车"键结束."<<std::endl; std::cin>>str; //没有这个文件,会自动创建 std::ofst

cocos2d-x之文件的写入与读取

在bool HelloWorld::init()中 1 //通过(FileUtils)这个工具获取和写入文件 2 auto fu = FileUtils::getInstance(); 3 // //写出一个文件,(数据文件名,路径,写入) 4 // FILE *f = fopen(fu->fullPathFromRelativeFile("data.txt", fu->getWritablePath()).c_str(),"w"); 5 // //写入

Java file文件的写入和读取

File文件的写入 一.FileWriter 和BufferedWriter 结合写入文件 FileWriter是字符流写入字符到文件.默认情况下,它会使用新的内容代替文件原有的所有内容,但是,当指定一个true值作为FileWriter构造函数的第二个参数,它会保留现有的内容,并追加新内容在文件的末尾. BufferedWriter:缓冲字符,是一个字符流类来处理字符数据.不同于字节流(数据转换成字节FileOutPutStream),可以直接写字符串.数组或字符数据保存到文件. 默认情况,替

[转]VC++中对文件的写入和读取

本文转自:http://blog.csdn.net/fanghb_1984/article/details/7425705 本文介绍两种方法对文件进行读取和写入操作:1.采用fstream类:2.采用CStdioFile类. CStdioFile继承自CFile,一个CStdioFile对象代表一个用运行时函数fopen 打开的C 运行时流式文件. C++中的fstream类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O.stream类有两个重要的运算符:插入器(<<)和析

python txt文件的写入和读取

1.文件的打开 使用open () 函数 打开文件.他有两个参数,文件路径或文件名和文件的打开方式. "r" 只读模式,不能编辑和删除文件内容. "w" 写入模式,会先将文件之前的内容清空,然后再写入. "a" 追加模式,会将数据添加的之前内容的后面. 如果不给打开方式,默认为只读模式. f=open("test.txt") #默认为只读模式 f=open("test.txt",'r') #只读模式 f=o

android .txt文件的写入,读取,还有复制图片

txt文件的写入: 1 private void save() { 2 FileOutputStream fos = null; 3 String state = Environment.getExternalStorageState();// sd状态 4 if (state.equals(Environment.MEDIA_MOUNTED)) {// 判断sd卡是否可用 5 File root = Environment.getExternalStorageDirectory(); 6 Fi

JavaIO流——简单对文件的写入及读取(三)

已经讲了写入和读取了,那么想要把一个文件的内容复制到另一个文件呢 不说太多,直接见代码 public static void copyFile(String srcFilename, String destFilename) throws IOException { FileReader fReader = new FileReader(srcFilename); FileWriter fWriter = new FileWriter(destFilename); char[] buffer =

iOS中 JSON格式文件的写入和读取

1.写入(本地) NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);    NSString *path=[paths objectAtIndex:0];    NSString *Json_path=[path stringByAppendingPathComponent:@"JsonFile.json"];    //==写入文件    NSL