Seven's profileThink吧PhotosBlogLists Tools Help

Blog


    JAVA入门1

    最近,慢慢开始着手编写一些java小程序。写代码的时间总是过得好快,今天用了几个小时研究了一下Java的IO。习惯于c++,感觉Java的IO好庞大!!有点乱,写了一个实用的小程序,能实现如下功能:
    1、从文件中一行一行的读数据
    2、将读出来的数据存放入vector中
    3、将vector中的内容在屏幕上打印出来

    package seven.test5;

    import java.io.*;
    import java.util.Vector;

    //@SuppressWarnings("unchecked")

    public class read_to_vector{
        public static void main(String[] args){
            try{
                Vector<String> vec = new Vector<String>();
               
                //input
                FileReader fileReader = new FileReader(args[0]);
                BufferedReader bufferedReader = new BufferedReader(fileReader);
               
                //output
                String s = null;
                while((s = bufferedReader.readLine()) != null)
                {
                    vec.add(s);
                }
                for(int i = 0; i< vec.size(); i++)
                {
                    System.out.print("向量位置:" + i + "\t");
                    System.out.println(vec.get(i));
                }
               
                fileReader.close();
                bufferedReader.close();
            }catch(IOException e){
                e.printStackTrace();
            }
        }
    }

    注:
    1、@SuppressWarnings("unchecked"),可以忽略掉程序在编译时出现的警告。
    2、Vector现在并不常用,习惯C++,见到这个比较亲切,应该多学学Collection类。
    3、Java 1.5中Vector形式为:Vector<> vector_Name = new Vector<>()。
    4、注意使用java.io.*使的异常捕捉。

    PS:
    1、一个从文件读内容,单个字符打印在屏幕上的程序:

    import java.io.FileReader;
    import java.io.IOException;
     
    public class readFile 
    {
      public static void readfile(String file){
        try{
           FileReader fr = new FileReader(file);
           int ch = 0;
           while((ch=fr.read())!=-1){
           System.out.println((char)ch);
           }

         }
    catch(IOException e){
            e.printStackTrace();
         }

         }

         public static void main(String[] args) {
            readfile("e:\\dd.txt");
         }

    }

    2、几个相关代码网址:
    http://coderdream.javaeye.com/blog/246936
    http://topic.csdn.net/u/20080224/19/b950e3e0-50f1-4a2c-9ac7-fd2344beae69.html
    3、中文Java API
    http://gceclub.sun.com.cn/Java_Docs/html/zh_CN/api/index.html
    4、C++中上述功能的实现(对照一下,防止忘记)

    #include <fstream>
    #include <iostream>

    int main(int argc, char **argv)
    {
        string line;
        vector<string> vec;
        ifstream in(argv[1].c_str());
        while(getline(in,line))
        {
            vec.push_back(line);
        }
       
        for(int i = 0; i < vec.size(); i++)
        {
            cout << "向量位置:" << i << vec[i] << endl;
        }
        return 0;
    }



    到这里,看电影去了,希望能早日完成过渡。呵呵。