java流轉字元串
1. java中怎樣將文件的內容讀取成字元串
java中有四種將文件的內容讀取成字元串
方式一:
Java code
/**
*以位元組為單位讀取文件,常用於讀二進制文件,如圖片、聲音、影像等文件。
*當然也是可以讀字元串的。
*/
/*貌似是說網路環境中比較復雜,每次傳過來的字元是定長的,用這種方式?*/
publicStringreadString1()
{
try
{
//FileInputStream用於讀取諸如圖像數據之類的原始位元組流。要讀取字元流,請考慮使用FileReader。
FileInputStreaminStream=this.openFileInput(FILE_NAME);
ByteArrayOutputStreambos=newByteArrayOutputStream();
byte[]buffer=newbyte[1024];
intlength=-1;
while((length=inStream.read(buffer)!=-1)
{
bos.write(buffer,0,length);
//.write方法SDK的解釋是m.
//當流關閉以後內容依然存在
}
bos.close();
inStream.close();
returnbos.toString();
//為什麼不一次性把buffer得大小取出來呢?為什麼還要寫入到bos中呢?returnnew(buffer,"UTF-8")不更好么?
//returnnewString(bos.toByteArray(),"UTF-8");
}
}
方式二:
Java code
方式四:
Java code
/*InputStreamReader+BufferedReader讀取字元串,InputStreamReader類是從位元組流到字元流的橋梁*/
/*按行讀對於要處理的格式化數據是一種讀取的好方式*/
()
{
intlen=0;
StringBufferstr=newStringBuffer("");
Filefile=newFile(FILE_IN);
try{
FileInputStreamis=newFileInputStream(file);
InputStreamReaderisr=newInputStreamReader(is);
BufferedReaderin=newBufferedReader(isr);
Stringline=null;
while((line=in.readLine())!=null)
{
if(len!=0)//處理換行符的問題
{
str.append(" "+line);
}
else
{
str.append(line);
}
len++;
}
in.close();
is.close();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
returnstr.toString();
}
2. 關於java流的問題,位元組流與字元流,為什麼要用轉換流,把位元組轉換成字元流,為什麼不直接用字元流
你好,很高興為你解答。
正如你所說Java IO分兩種流 1)位元組流 InputStream OutputStream ;2)字元流 Reader Writer 。
為什麼需要用兩種流,而且要轉換,不直接用字元流。
簡單說來,就是字元流不能處理所有的情況,位元組流也不能處理所有的情況。所以需要兩種轉換。
先說一下二者的區別:
1)字元流處理的單元為2個位元組的Unicode字元,分別操作字元、字元賣肆數組或字元串,
2)而位元組流處理單元為1個位元組, 操作位元組和位元組數組。
位元組流可用於任何類型的對象,包括二進制對象,而字元流只能處理字元或者字元串; 位元組流提供了處理任何類型的IO操作的功能,但它不能直接處理Unicode字元,而友配鎮字元流就可以。
所以字元流是由Java虛擬機將位元組轉化為2個位元組的Unicode字元為單位的字元而成的,所以它對多好粗國語言支持性比較好!
如果是 音頻文件、圖片、歌曲,就用位元組流好點。
如果是關繫到中文(文本)的,用字元流好點。
3. java鎬庝箞灝嗘暟瀛楄漿鎹涓哄瓧絎︿覆
鏂規硶涓猴細System.out.println(鍙橀噺涓+鍙橀噺浜+鍙橀噺涓+... +鍙橀噺N)銆
鑷充簬濡備綍灝嗘暟鍊艱漿鎹涓篠tring綾誨瀷錛屾湁涓綆鍗曠殑鏂規硶錛屽嵆鍦ㄦ瘡涓鏁板煎悗鍔犱笂[ +鈥溾漖 涓鎷鍙蜂腑鐨勯儴鍒嗗嵆鍙錛屽備笅闈浠g爜錛
int i=0;
int j=0;
nt k=0;
int l=0;
System.out.println(i+""+j+""+k+""+l);
榪欐牱灝辮緭鍑虹殑緇撴灉灝辨槸0000
濡傛灉浣犺佸啓鎴愪笅闈㈢殑鏍峰瓙錛
System.out.println(i+j+k+l+"");
杈撳嚭灝辨槸涓涓0
濡傛灉杈撳嚭鐨勫彉閲忛兘鏄 鏁板肩被鍨嬶紝闇瑕佽漿鎹㈡垚String綾誨瀷杈撳嚭錛屼笉鑳 System.out.println(鍙橀噺涓+鍙橀噺浜+鍙橀噺涓+... +鍙橀噺N);榪欐牱錛屽惁鍒欐暟鍊奸兘鍥炵浉鍔犮
濡傛灉杈撳嚭鐨勯兘鏄瘲tring綾誨瀷鐨勶紝鍙浠 System.out.println(鍙橀噺涓+鍙橀噺浜+鍙橀噺涓+... +鍙橀噺N);榪欐牱銆
鎵╁睍璧勬枡
Java紼嬪簭鐨勬暣涓妗嗘灦錛
public class Hello{ #1 public static void main(String[] args){ #2 System.out.println("Hello,World "); #3 } }
鏉冮檺淇楗扮 class 綾誨悕{ public static void main(String[] args){ 浠g爜路路路 } }
Java涓鏄浠ョ被涓虹▼搴忕殑鍩烘湰鍗曚綅錛#1涓 Hello 灝辨槸榪欎釜婧愭枃浠剁殑鍚嶇О銆傝繖涓鍚嶅瓧涓瀹氳佷笌婧愭枃浠剁殑鍚嶇О鐩稿悓錛屽苟涓旓紝 Java涓綾誨悕涔犳儻絎涓涓瀛楁瘝澶у啓錛
#2鏄疛ava紼嬪簭鐨勫叆鍙(main)錛
#3鏄疛ava涓鐢ㄦ潵鍦ㄦ帶鍒跺彴涓婃墦鍗頒俊鎮鐨勬柟娉曪紱
寤鴻闆跺熀紜鍏ラ棬鐨勫皬浼欎即錛屽厛涓嶈佽姳鏃墮棿鍘葷悊瑙f暣涓紼嬪簭錛屽洜涓鴻繖閲岄潰娑夊強綾匯佹柟娉曘佹潈闄愪慨楗板緢澶氬悗闈㈢殑鍐呭癸紝涓寮濮嬪厛鎶婅繖涓浠g爜鏁插嚑閬嶏紝浜嗚В涓涓嬪ぇ姒傜殑妗嗘灦灝辮屻
緙栧啓榪囩▼涓鐨勫父瑙侀敊璇錛氬ぇ灝忓啓娌¤扮墷(Java瀵瑰ぇ灝忓啓鏁忔劅)銆佸瓧姣嶆墦閿欍佹販娣嗗叧閿璇嶉殢鎰忎貢鍑戙佽姳鎷鍙楓佹嫭鍙楓佷腑鎷鍙鋒病鏈夋垚瀵瑰嚭鐜般佽鍙ョ粨鏉熸病鏈夊姞鍒嗗彿銆佹紡鍐欏瓧姣嶆垨鑰呭叧閿璇