最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java實現(xiàn)字符串和輸入流的相互轉(zhuǎn)換

 更新時間:2022年08月19日 09:50:05   作者:dangnianmingyue_gg  
這篇文章主要介紹了Java實現(xiàn)字符串和輸入流的相互轉(zhuǎn)換方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

字符串和輸入流的相互轉(zhuǎn)換

在讀取網(wǎng)絡資源時經(jīng)常要用到字符串和輸入流之間的相互轉(zhuǎn)化,找到了些方法,記錄一下。

將字符串轉(zhuǎn)化為輸入流,代碼如下:

public static InputStream getStringStream(String sInputString){?
  if (sInputString != null && !sInputString.trim().equals("")){?
  ? ? try{?
  ? ? ? ? ByteArrayInputStream tInputStringStream = new ByteArrayInputStream(sInputString.getBytes());?
  ? ? ? ? return tInputStringStream;?
  ? ? }catch (Exception ex){?
  ? ? ? ? ex.printStackTrace();?
  ? ? }?
  }?
  return null;?
}

將輸入流轉(zhuǎn)化會字符串,代碼如下:

public static String getStreamString(InputStream tInputStream){?
  if (tInputStream != null){?
  ? ? ?try{?
  ? ? ? ? ? BufferedReader tBufferedReader = new BufferedReader(new InputStreamReader(tInputStream));?
  ? ? ? ? ? StringBuffer tStringBuffer = new StringBuffer();?
  ? ? ? ? ? String sTempOneLine = new String("");?
  ? ? ? ? ? while ((sTempOneLine = tBufferedReader.readLine()) != null){?
  ? ? ? ? ? ? ? tStringBuffer.append(sTempOneLine);?
  ? ? ? ? ? }?
  ? ? ? ? ?return tStringBuffer.toString();?
  ? ? }catch (Exception ex){?
  ? ? ? ? ?ex.printStackTrace();?
  ? ? }?
  }?
  return null;?
}

或者是以下的方法,代碼如下:

public class StreamTool {
?? ?/**
?? ? * 把輸入流的內(nèi)容轉(zhuǎn)化成字符串
?? ? * @param is
?? ? * @return
?? ? */
?? ?public static String readInputStream(InputStream is){
?? ??? ?try {
?? ??? ??? ?ByteArrayOutputStream baos=new ByteArrayOutputStream();
?? ??? ??? ?int length=0;
?? ??? ??? ?byte[] buffer=new byte[1024];
?? ??? ??? ?while((length=is.read(buffer))!=-1){
?? ??? ??? ??? ?baos.write(buffer, 0, length);
?? ??? ??? ?}
?? ??? ??? ?is.close();
?? ??? ??? ?baos.close();
?? ??? ??? ?//或者用這種方法
?? ??? ??? ?//byte[] result=baos.toByteArray();
?? ??? ??? ?//return new String(result);
?? ??? ??? ?return baos.toString();
?? ??? ?} catch (Exception e) {
?? ??? ??? ?e.printStackTrace();
?? ??? ??? ?return "獲取失敗";
?? ??? ?}
?? ?}
}

字符輸入與輸出流

字符輸入流

java.io.Reader抽象是所有字符輸入流的父類,用于讀取文件內(nèi)容

字符輸入流結(jié)構:

字符輸入流

為了讀取方便,Java提供了一種讀取字符文件的便捷類。

FileReader類

構造方法:

  • FileReader(File file); 在給定從中讀取數(shù)據(jù)的 File 的情況下創(chuàng)建一個新 FileReader。
  • FileReader(String fileName); 在給定從中讀取數(shù)據(jù)的文件名的情況下創(chuàng)建一個新 FileReader。

常用讀取方法:

方法名說明
int read()讀入一個字符,都到結(jié)尾則返回-1
int read(char[] cbuf)將讀取的cbuf.length個字符讀取到char數(shù)組中
int read(char[] cbuf, int off, int len)從此字符輸入流中偏移量off到len個字符讀取到char數(shù)組中
void reset()重置該流
boolean ready()判斷是否準備讀取此流
void close()關閉字符輸入流,并釋放所有系統(tǒng)資源
long skip(long n)跳過讀取n個字符,并返回跳過字符的數(shù)量
void mark(int readLimit)將此輸入流標記,當使用reset方法時就返回到該位置,從此位置開始讀入字符

1.單個讀取,如果文件太大不建議使用。

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class dome2{
	public static void main(String[] args){
	  File file=new File("D:/../...txt");   //創(chuàng)建file對象
	  FileReader fr=null;
	  
	  try {
		fr=new FileReader(file);
		int c;  
		while((c=fr.read())!=-1) { 
			System.out.print((char)c);  //強制轉(zhuǎn)換成字符
		}
	} catch (FileNotFoundException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}finally {
		if(fr!=null) {
			try {
				fr.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
   }
}

2.讀取多個字符輸出。

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class dome2{
	public static void main(String[] args){
	  File file=new File("D:/../...txt");   
	  FileReader fr=null;
	  
	  try {
		fr=new FileReader(file);
		char[] c=new char[100];
		int length;
		while((length=fr.read(c))!=-1) {
			System.out.println(new String(c,0,length));  
		}
	} catch (FileNotFoundException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}finally {
		if(fr!=null) {
			try {
				fr.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
   }
}

字符輸出流

java.io.Writer抽象類是所有字符輸出流的父類,用于對文件寫入數(shù)據(jù)。

字符輸出流結(jié)構:

字符輸出流

為了寫入Java提供了一種字符寫入的便捷類。

FileWriter類

構造方法:

  • FileWriter(File file)FileWriter(String fileName); 使用給定的file對象或者給定的文件路徑名構造一個FileWriter對象。
  • FileWriter(File file, boolean append)FileWriter(String fileName, boolean append); 通過給定的file對象或者文件路徑名構造FileWriter對象,以及是否追加還是覆蓋。

常用讀取方法

方法名說明
void write(char[] cbuf)將cbuf指定的所有字符數(shù)組寫入到字符輸出流中
void write(int c)向字符輸出流中寫入一個字符
void write(char[] cbuf,int off,int len)將cbuf數(shù)組中的字符從偏移量off到長度為len個字符寫入到此輸出流中。
void write(String str )向字符輸流中寫入一個字符串
void write(String str , int off ,int len)將str字符串從偏移量off,長度為len個字符串寫入到此輸出流中。
Abstract void flush()刷新當前輸出流,并強制寫入所有字符數(shù)據(jù)
abstract void close()關閉此輸出流

1.writer(int c);寫入一個字符

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class dome2{
	public static void main(String[] args){
	  File file=new File("D:/../...txt");   //創(chuàng)建file對象
       FileWriter  fw=null;
       
       try {
		fw=new FileWriter(file);
		char c='你';
		fw.write((int)c);
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}finally {
		if(fw!=null) {
			try {
				fw.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}       
   }
}

2.writer(String str); 寫入一個字符串

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class dome2{
	public static void main(String[] args){
	  File file=new File("D:/../...txt");   //創(chuàng)建file對象
       FileWriter  fw=null;
       
       try {
		fw=new FileWriter(file);
		String str="你好,java";
		fw.write(str);  //寫入一個字符串,等價于write(str,0,str.length);
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}finally {
		if(fw!=null) {
			try {
				fw.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}       
   }
}

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • java實現(xiàn)電話本管理系統(tǒng)

    java實現(xiàn)電話本管理系統(tǒng)

    這篇文章主要為大家詳細介紹了JAVA實現(xiàn)電話本管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • spring boot請求異常處理并返回對應的html頁面

    spring boot請求異常處理并返回對應的html頁面

    這篇文章主要介紹了spring boot處理請求異常并返回對應的html頁面,包括404異常處理和500異常處理,需要的朋友可以參考下
    2017-07-07
  • 將字符串數(shù)字格式化為樣式1,000,000,000的方法

    將字符串數(shù)字格式化為樣式1,000,000,000的方法

    這篇文章主要介紹了將字符串數(shù)字格式化為樣式1,000,000,000的方法,有需要的朋友可以參考一下
    2014-01-01
  • 如何利用Map與函數(shù)式接口來實現(xiàn)去除if else

    如何利用Map與函數(shù)式接口來實現(xiàn)去除if else

    這篇文章主要介紹了如何利用Map與函數(shù)式接口來實現(xiàn)去除if else問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Spring Boot前后端分離開發(fā)模式中的跨域問題及解決方法

    Spring Boot前后端分離開發(fā)模式中的跨域問題及解決方法

    本文介紹了解決Spring Boot前端Vue跨域問題的實戰(zhàn)經(jīng)驗,并提供了后端和前端的配置示例,通過配置后端和前端,我們可以輕松解決跨域問題,實現(xiàn)正常的前后端交互,需要的朋友可以參考下
    2023-09-09
  • Java實現(xiàn)圖書管理系統(tǒng)的示例代碼

    Java實現(xiàn)圖書管理系統(tǒng)的示例代碼

    這篇文章將通過Java實現(xiàn)一個簡答的圖書管理系統(tǒng),本圖書管理系統(tǒng)用對象數(shù)組的方式來提供操作方法,比較特別,建議新手學習,這對理解Java面向?qū)ο笥泻艽髱椭?/div> 2022-11-11
  • eclipse創(chuàng)建一個基于maven的web項目詳細步驟

    eclipse創(chuàng)建一個基于maven的web項目詳細步驟

    開始學習maven,并用maven創(chuàng)建了第一個屬于自己的web項目,下面這篇文章主要給大家介紹了關于eclipse創(chuàng)建一個基于maven的web項目的相關資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2023-12-12
  • Java設計模式常用原則解析

    Java設計模式常用原則解析

    這篇文章主要介紹了Java設計模式常用原則解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-05-05
  • Java 二叉樹遍歷特別篇之Morris遍歷

    Java 二叉樹遍歷特別篇之Morris遍歷

    二叉樹的遍歷(traversing binary tree)是指從根結(jié)點出發(fā),按照某種次序依次訪問二叉樹中所有的結(jié)點,使得每個結(jié)點被訪問依次且僅被訪問一次。四種遍歷方式分別為:先序遍歷、中序遍歷、后序遍歷、層序遍歷
    2021-11-11
  • JAVA讀取二進制文件以及畫圖教程

    JAVA讀取二進制文件以及畫圖教程

    由于項目需要,需要對二進制文件進行讀取,所以這篇文章主要給大家介紹了關于JAVA讀取二進制文件以及畫圖的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-07-07

最新評論

永登县| 德令哈市| 闻喜县| 奈曼旗| 寿光市| 阳西县| 济宁市| 当涂县| 北宁市| 慈溪市| 鄂托克旗| 凤山县| 奉贤区| 交口县| 澄江县| 达孜县| 商洛市| 广元市| 河西区| 灯塔市| 清徐县| 蒲江县| 监利县| 长子县| 宜丰县| 丽水市| 新余市| 叙永县| 兖州市| 茌平县| 浦北县| 平潭县| 彰化市| 察隅县| 伽师县| 义马市| 平邑县| 邯郸县| 叶城县| 通江县| 海伦市|