java輸出,java輸出數組所有元素

本文目錄一覽:

Java中如何實現文件的輸入和輸出?

程序如下:\x0d\x0a \x0d\x0a\x0d\x0aFile file1 = new File(“/home/a123/a”); \x0d\x0a\x0d\x0a if (file1.exists()) { \x0d\x0a System.out.println(“存在文件夾a”); \x0d\x0a } else { \x0d\x0a file1.mkdir(); // 文件夾的創建 創建文件夾/home/a123/a \x0d\x0a } \x0d\x0a File file2 = new File(“/home/a123/a/test”); \x0d\x0a if (file2.exists()) { \x0d\x0a System.out.println(“存在文件夾或者文件test”); \x0d\x0a } else { \x0d\x0a try { \x0d\x0a file2.createNewFile(); // 文件的創建,注意與文件夾創建的區別 \x0d\x0a } catch (IOException e) { \x0d\x0a // TODO Auto-generated catch block \x0d\x0a e.printStackTrace(); \x0d\x0a } \x0d\x0a } \x0d\x0a \x0d\x0a /** \x0d\x0a * 最簡單的文件讀寫方法是使用類FileWriter \x0d\x0a * (它的父類依次是java.io.OutputStreamWriter——java.io.Writer——java.lang.Object ); \x0d\x0a */ \x0d\x0a \x0d\x0a // 下面是向文件file2裏面寫數據 \x0d\x0a try { \x0d\x0a FileWriter fileWriter = new FileWriter(file2); \x0d\x0a String s = new String(“This is a test! \n” + “aaaa”); \x0d\x0a fileWriter.write(s); \x0d\x0a fileWriter.close(); // 關閉數據流 \x0d\x0a\x0d\x0a} catch (IOException e) { \x0d\x0a // TODO Auto-generated catch block \x0d\x0a e.printStackTrace(); \x0d\x0a } \x0d\x0a \x0d\x0a /* \x0d\x0a * 這樣寫數據的話,是完全更新文件test裏面的內容,即把以前的東西全部刪除,重新輸入。 \x0d\x0a * 如果不想刪除以前的數據,而是把新增加的內容增添在文件末尾處。只需要在創建FileWriter對象時候,使用另外一個構造函數即可: \x0d\x0a * FileWriter fileWriter=new FileWriter(file2,true); \x0d\x0a */ \x0d\x0a \x0d\x0a // 下面是從文件file2讀東西 \x0d\x0a try { \x0d\x0a FileReader fileReader = new FileReader(file2); \x0d\x0a String s = null; \x0d\x0a char ch; \x0d\x0a try { \x0d\x0a char[] c = new char[100]; \x0d\x0a fileReader.read(c,0,2); // 具體想得到文件裏面的什麼值(單個char?int?還是String?), \x0d\x0a System.out.println(c); \x0d\x0a fileReader.close(); \x0d\x0a \x0d\x0a } catch (IOException e) { \x0d\x0a // TODO Auto-generated catch block \x0d\x0a e.printStackTrace(); \x0d\x0a } \x0d\x0a \x0d\x0a } catch (FileNotFoundException e) { \x0d\x0a // TODO Auto-generated catch block \x0d\x0a e.printStackTrace(); \x0d\x0a } \x0d\x0a /** \x0d\x0a * 具體想得到文件裏面的什麼值(單個char?int?還是String?),需要知道不通read的不同用法: \x0d\x0a * 1. int read() 讀取單個字符。 \x0d\x0a * 2. int read(char[] cbuf) 將字符讀入數組。 可以再將字符型數組轉化位字符串 \x0d\x0a * 3. int read(char[] cbuf,int off,int len) 將字符讀入數組的某一部分。 \x0d\x0a * 這三個方法都返回一個int值,作用是:讀取的字符數,如果已到達流的末尾,則返回 -1. \x0d\x0a */ \x0d\x0a \x0d\x0a }

java怎麼輸出?

java控制台輸出由print( ) 和 println( )來完成最為簡單。這兩種方法由rintStream(System.out引用的對象類型)定義。儘管System.out是一個位元組流,用它作為簡單程序的輸出是可行的。因為PrintStream是從OutputStream派生的輸出流,它同樣實現低級方法write(),write()可用來向控制台寫數據。PrintStream 定義的write( )的最簡單的形式如下:

void write(int byteval)

該方法按照byteval指定的數目向文件寫位元組。儘管byteval 定義成整數,但只有低位的8個位元組被寫入。下面的短例用 write()向屏幕輸出字符「A」,然後是新的行。

// Demonstrate System.out.write().

class WriteDemo {

public static void main(String args[]) {

int b;

b = ‘A’;

System.out.write(b);

System.out.write(‘\n’);

}

}

一般不常用write()來完成向控制台的輸出(儘管這樣做在某些場合非常有用),因為print()和println() 更容易用。

四、PrintWriter類

儘管Java允許用System.out向控制台寫數據,但建議僅用在調試程序時或在例程中。對於實際的程序,Java推薦的向控制台寫數據的方法是用PrintWriter流。PrintWriter是基於字符的類。用基於字符類向控制台寫數據使程序更為國際化。PrintWriter定義了多個構造函數,這裡所用到的一個如下:

PrintWriter(OutputStream outputStream, boolean flushOnNewline)

outputStream是OutputStream類的對象,flushOnNewline控制Java是否在println()方法被調用時刷新輸出流。如果flushOnNewline為true,刷新自動發生,若為false,則不發生。

PrintWriter支持所有類型(包括Object)的print( )和println( )方法,這樣,就可以像用ystem.out那樣用這些方法。如果遇到不同類型的情況,PrintWriter方法調用對象的toString()方法並打印結果。用PrintWriter向外設寫數據,指定輸出流為System.out並在每一新行後刷新流。例如這行代碼創建了與控制台輸出相連的PrintWriter類。

PrintWriter pw = new PrintWriter(System.out, true);

下面的應用程序說明了用PrintWriter處理控制台輸出的方法:

// Demonstrate PrintWriter

import java.io.*;

public class PrintWriterDemo {

public static void main(String args[]) {

PrintWriter pw = new PrintWriter(System.out, true);

pw.println(“This is a string”);

int i = -7;

pw.println(i);

double d = 4.5e-7;

pw.println(d);

}

}

該程序的輸出如下:

This is a string

-7

4.5E-7

io包支持Java的基本I/O(輸入/輸出)系統,包括文件的輸入/輸出。對輸入/輸出的支持是來源於Java的內核API庫,而不是語言關鍵字。

一、輸入/輸出基礎

很多實際的Java應用程序不是基於文本的控制台程序。儘管基於文本的程序作為教學實例是很出色的,它們無法勝任JAVA在實際中的重要應用。Java對外設輸入/輸出的支持也是有限的,並且用起來有些笨拙——甚至是在簡單的例子程序中。基於文本的控制台輸入/輸出對於Java程序並不是十分重要。

Java 提供了與文件和網絡相關的強大的和靈活的輸入/輸出支持,Java的輸入/輸出系統是緊密相連並且是具有一致性的。

1.1 流的概念

Java程序通過流來完成輸入/輸出。流是生產或消費信息的抽象。流通過Java的輸入/輸出系統與物理設備鏈接。儘管與它們鏈接的物理設備不盡相同,所有流的行為具有同樣的方式。這樣,相同的輸入/輸出類和方法適用於所有類型的外部設備。這意味着一個輸入流能夠抽象多種不同類型的輸入:從磁盤文件,從鍵盤或從網絡套接字。同樣,一個輸出流可以輸出到控制台,磁盤文件或相連的網絡。流是處理輸入/輸出的一個潔凈的方法,例如它不需要代碼理解鍵盤和網絡的不同。Java中流的實現是在java.io包定義的類層次結構內部的。

1.2 位元組流和字符流

要使用流類,必須導入Java.io包。Java 2 定義了兩種類型的流:位元組類和字符類。位元組流(byte stream)為處理位元組的輸入和輸出提供了方便的方法。例如使用位元組流讀取或書寫二進制數據。字符流(character stream)為字符的輸入和輸出處理提供了方便。它們採用了統一的編碼標準,因而可以國際化。在某些場合,字符流比位元組流更有效。在最底層,所有的輸入/輸出都是位元組形式的。基於字符的流只為處理字符提供方便有效的方法。下面是對位元組流和字符流的概述。

1.2.1 位元組流類

位元組流由兩個類層次結構定義。在頂層有兩個抽象類:InputStream 和 OutputStream。每個抽象類都有多個具體的子類,這些子類對不同的外設進行處理,例如磁盤文件,網絡連接,甚至是內存緩衝區。位元組流類顯示於表1-1中。

表1-1 位元組流類

流類 含義

BufferedInputStream緩衝輸入流

BufferedOutputStream緩衝輸出流

ByteArrayInputStream從位元組數組讀取的輸入流

ByteArrayOutputStream向位元組數組寫入的輸出流

DataInputStream包含讀取Java標準數據類型方法的輸入流

DataOutputStream包含編寫Java標準數據類型方法的輸出流

FileInputStream讀取文件的輸入流

FileOutputStream寫文件的輸出流

FilterInputStream實現InputStream

FilterOutputStream實現OutputStream

InputStream描述流輸入的抽象類

OutputStream描述流輸出的抽象類

PipedInputStream輸入管道

PipedOutputStream輸出管道

PrintStream包含print()和println()的輸出流

PushbackInputStream 支持向輸入流返回一個位元組的單位元組的「unget」的輸入流

RandomAccessFile支持隨機文件輸入/輸出

SequenceInputStream兩個或兩個以上順序讀取的輸入流組成的輸入流

抽象類InputStream 和 OutputStream定義了實現其他流類的關鍵方法。最重要的兩種方法是read()和write(),它們分別對數據的位元組進行讀寫。兩種方法都在InputStream 和OutputStream中被定義為抽象方法。它們被派生的流類重載。

1.2.2 字符流類

字符流類由兩個類層次結構定義。頂層有兩個抽象類:Reader和Writer。這些抽象類處理統一編碼的字符流。Java中這些類含有多個具體的子類。字符流類如表1-2所示。

表1-2 字符流的輸入/輸出類

抽象類Reader和Writer定義了幾個實現其他流類的關鍵方法。其中兩個最重要的是read()和write(),它們分別進行字符數據的讀和寫。這些方法被派生流類重載。

1.3 預定義流

所有的Java程序自動導入java.lang包。該包定義了一個名為System的類,該類封裝了運行時環境的多個方面。System 同時包含三個預定義的流變量,in,out和err。這些成員在System中是被定義成public 和static型的,這意味着它們可以不引用特定的System對象而被用於程序的其他部分。

System.out是標準的輸出流。默認情況下,它是一個控制台。System.in是標準輸入,默認情況下,它指的是鍵盤。System.err指的是標準錯誤流,它默認是控制台。然而,這些流可以重定向到任何兼容的輸入/輸出設備。System.in 是inputStream的對象;System.out和System.err是PrintStream的對象。它們都是位元組流,儘管它們用來讀寫外設的字符。但可以用基於字符的流來包裝它們。

二、讀取控制台輸入

在Java 1.0中,完成控制台輸入的惟一途徑是位元組流,使用該方法的老代碼依然存在。今天,運用位元組流讀取控制台輸入在技術上仍是可行的,但這樣做需要用到不被贊成的方法,這種做法不值得推薦。Java 2中讀取控制台輸入的首選方法是字符流,它使程序容易符合國際標準並且易於維護。

Java沒有像標準C的函數scanf()或C++輸入操作符那樣的統一的控制台輸入方法。Java中,控制台輸入由從System.in讀取數據來完成。為獲得屬於控制台的字符流,在BufferedReader對象中包裝System.in。BufferedReader 支持緩衝輸入流查看批註。它最常見的構造函數如下:

BufferedReader(Reader inputReader)

這裡,inputReader是鏈接被創建的BufferedReader實例的流。Reader是一個抽象類。它的一個具體的子類是InputStreamReader,該子類把位元組轉換成字符查看批註。為獲得鏈接System.in的一個InputStreamReader的對象,用下面的構造函數:

InputStreamReader(InputStream inputStream)

因為System .in引用了InputStream 類型的對象,它可以用於inputStream。綜上所述,下面的一行代碼創建了與鍵盤相連的BufferedReader對象。

BufferedReader br = new BufferedReader(new

InputStreamReader(System.in));

當該語句執行後,br是通過System.in生成的鏈接控制台的字符流。

2.1 讀取字符

從BufferedReader讀取字符,用read()。這裡所用的read()版本如下:

int read( ) throws IOException

該方法每次執行都從輸入流讀取一個字符然後以整型返回。當遇到流的末尾時它返回-1。可以看到,它要引發一個IOException異常。下面的例程演示了read()方法,從控制台讀取字符直到用戶鍵入「q」:

// Use a BufferedReader to read characters from the console.

import java.io.*;

class BRRead {

public static void main(String args[])

throws IOException

{

char c;

BufferedReader br = new

BufferedReader(new InputStreamReader(System.in));

System.out.println(“Enter characters, ‘q’ to quit.”);

// read characters

do {

c = (char) br.read();

System.out.println(c);

} while(c != ‘q’);

}

}

下面是程序運行:

Enter characters, ‘q’ to quit.

123abcq

1

2

3

a

b

c

q

2.2 讀取字符串

從鍵盤讀取字符串,使用readLine()。它是BufferedReader 類的成員。它的通常形式如下:

String readLine( ) throws IOException

它返回一個String對象。下面的例子闡述了BufferedReader類和readLine()方法;程序讀取和顯示文本的行直到鍵入「stop」:

// Read a string from console using a BufferedReader.

import java.io.*;

class BRReadLines {

public static void main(String args[])

throws IOException

{

// create a BufferedReader using System.in

BufferedReader br = new BufferedReader(new

InputStreamReader(System.in));

String str;

System.out.println(“Enter lines of text.”);

System.out.println(“Enter ‘stop’ to quit.”);

do {

str = br.readLine();

System.out.println(str);

} while(!str.equals(“stop”));

}

}

下面的例程生成了一個小文本編輯器。它創建了一個String對象的數組,然後依行讀取文本,把文本每一行存入數組。它將讀取到100行或直到按「stop」才停止。該例運用一個BufferedReader類來從控制台讀取數據。

// A tiny editor.

import java.io.*;

class TinyEdit {

public static void main(String args[])

throws IOException

{

// create a BufferedReader using System.in

BufferedReader br = new BufferedReader(new

InputStreamReader(System.in));

String str[] = new String[100];

System.out.println(“Enter lines of text.”);

System.out.println(“Enter ‘stop’ to quit.”);

for(int i=0; i100; i++) {

str[i] = br.readLine();

if(str[i].equals(“stop”)) break;

}

System.out.println(“\nHere is your file:”);

// display the lines

for(int i=0; i100; i++) {

if(str[i].equals(“stop”)) break;

System.out.println(str[i]);

}

}

}

下面是輸出部分:

Enter lines of text.

Enter 『stop』 to quit.

This is line one.

This is line two.

Java makes working with strings easy.

Just create String objects.

stop

Here is your file:

This is line one.

This is line two.

Java makes working with strings easy.

Just create String objects.

java中是如何輸出變量的值?

java中的輸入使用System.out.println()或者System.out.print()。\x0d\x0a具體代碼如下:\x0d\x0apublicclassDemo{\x0d\x0apublicstaticvoidmain(String[]args){\x0d\x0ainti=123;\x0d\x0aSystem.out.println(i);\x0d\x0aSystem.out.print(i);\x0d\x0a}\x0d\x0a}\x0d\x0a有幾點需要注意:\x0d\x0a1、輸出方法必須寫在主方法(也就是main方法)中,否則程序運行不了,即輸不出數據;\x0d\x0a2、System.out.println()與System.out.print()的區別是前者輸出後自動換行,後者輸出後不換行。

Java的常用輸入輸出語句?

常用的輸入語句是:

輸入字符串:new Scanner(System.in).next();

輸入整數:new Scanner(System.in).nextInt();

輸入小數:new Scanner(System.in).nextDouble();

常用的輸出語句:

換行輸出: System.out.println(變量或字符串);

非換行輸出: System.out.print(變量或字符串);

換行輸出錯誤提示(默認是紅字):System.err.println(變量或字符串);

不換行輸出錯誤提示(默認是紅字): System.err.print(變量或字符串));

java語句中輸出內容是v.i該怎麼輸出

java語句中輸出內容是v.i該怎麼輸出

java中輸出數據可以使用「System.out.println()」語句,該語句是最常用的輸出語句,該語句會把括號里的內容轉換成字符串輸出到控制台,並且換行。

原創文章,作者:WETB,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/139675.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
WETB的頭像WETB
上一篇 2024-10-04 00:22
下一篇 2024-10-04 00:22

相關推薦

  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • Java Bean加載過程

    Java Bean加載過程涉及到類加載器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean加載的過程。 一、類加載器 類加載器是Java虛擬機…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Python導入數組

    本文將為您詳細闡述Python導入數組的方法、優勢、適用場景等方面,並附上代碼示例。 一、numpy庫的使用 numpy是Python中一個強大的數學庫,其中提供了非常豐富的數學函…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發佈。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Python返回數組:一次性搞定多種數據類型

    Python是一種多用途的高級編程語言,具有高效性和易讀性的特點,因此被廣泛應用於數據科學、機器學習、Web開發、遊戲開發等各個領域。其中,Python返回數組也是一項非常強大的功…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29

發表回復

登錄後才能評論