挺有意思的比较,JAVA与C#。

来源:互联网 发布:php获取当月剩余天数 编辑:程序博客网 时间:2024/05/19 16:38

写之前,先声明,我很菜,又很懒。

事出有因,先看下原因。

我想通过网络由JAVA向C#里传递一个文件,由于我很懒,选择了Web Service,还只想传简单类型,于是,我想起了base64,于是我就决定用base64编码后通过Java提供Web Service,由C#调用。

必须要先编成base64码吧,用java不会编,选了C#编码,得保存成一个文本文件,用java读,比较来了,就出自读取文本文件。

C#:

            StreamReader reader = File.OpenText("C://Data.txt");

            this.buffer = reader.ReadToEnd();

JAVA:

  BufferedReader reader = new BufferedReader(new FileReader("C://Data.txt"));

  return reader.readLine();

看到这里,我实在郁闷了,.NET里可以全部读取,而java只能读取一行,在.NET里思路很明确,要读文件,肯定要File,做什么呢?File.Open...,啊,从IDE的提示里我找到了OpenText,这是我想要的,保佑我是一个字符串的文件名...bingo...被我猜中了兴奋得添了文件名进去就有了File.OpenText("C://Data.txt"),开始的时候我是这样写的,this.buffer = File.OpenText("C://Data.txt").ReadToEnd();因为我又点了一下IDE又给我提示了,我找到了ReadToEnd(),后来由于要reader.Close(),所以分开了,这也是顺理成章的事了,用VS编程序,就像在跟它对话一样。

JAVA里就很郁闷了,reader是不能readAll的只有readLine,我很迷惘,于是打开帮助JB的帮助,带JAVA API的,查找readAll,结果是什么Image.什么玩意的,就更不用说怎么用java编码base64了。

我不想评论谁好谁坏了,也许真的是我太菜太懒了,我有点喜欢上C#了。

另外补充一点,用C#读文本的时候,很轻松的就读取了,而java 的那个reader.readLine(),居然让我的JB停止响应了,呵呵,也许真的不怪JAVA,我这一行太长了,2M那么长:o 。