C键盘输入一行字符,写入一个文件,再把该文件内容读出显示在屏幕上。

/*
	键盘输入一行字符,写入一个文件,再把该文件内容读出显示在屏幕上。 
*/


#include <stdio.h>
#include <string.h>
int main () {


	//定义变量
	char ch; 
	
	//打开文件
	FILE *fp = fopen("inputString.txt", "w+"); 
	//判断文件是否打开成功
	if (fp!=NULL) {
	
		//提示用户输入一个字符串
		printf("请输入要保存的字符串:\n");
		//接收,循环写入到文件中
		ch = getchar();
		int count = 0;
		//判断是否输入了\n
		while (ch!='\n') {
			count++;
			fputc(ch, fp); //把字符保存到文件中
			ch = getchar(); //获取下一个字符 
			
		}
		printf("本次一共写入了%个字符\n",count);
		
		//读取出来并显示到控制台
		printf("\n"); 
		
		rewind(fp); //作用是把文件指针,重新指向文件首地址 
		//从文件中读取一个字符
		ch = fgetc(fp);
		while (ch!=EOF) {
			//显示ch到控制台
			putchar(ch);
			//读取一个字符
			ch  = fgetc(fp); 
		} 
		printf("\n"); 
	//读取显示文件
	}
	//关闭文件指针 
	fclose(fp);
	return 0; 
}

阅读终点,创作起航,您可以撰写心得或摘录文章要点写篇博文。去创作
  • 8
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: 首先,需要使用Scanner类接收键盘输入字符串,然后使用FileOutputStream类将字符写入文件。代码如下: ``` import java.io.*; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入写入文件字符串:"); String str = scanner.nextLine(); try { FileOutputStream fos = new FileOutputStream("test.txt"); fos.write(str.getBytes()); fos.close(); System.out.println("写入文件成功!"); } catch (IOException e) { e.printStackTrace(); } } } ``` 接下来,使用FileInputStream类读取文件内容,并将内容显示屏幕上。代码如下: ``` import java.io.*; public class Main { public static void main(String[] args) { try { FileInputStream fis = new FileInputStream("test.txt"); byte[] bytes = new byte[1024]; int len = ; while ((len = fis.read(bytes)) != -1) { System.out.println(new String(bytes, , len)); } fis.close(); } catch (IOException e) { e.printStackTrace(); } } } ``` 以上就是接收键盘输入字符串,用FileOutputStream类将字符写入文件,用FileInputStream类读出文件内容显示屏幕上的代码实现。 ### 回答2: 首先,需要在程序中接收键盘输入字符串。我们可以使用Scanner类来获取控制台输入字符串。代码如下: ``` Scanner scanner = new Scanner(System.in); System.out.println("请输入写入文件内容:"); String content = scanner.nextLine(); ``` 接下来,我们使用FileOutputStream类将字符写入文件。需要先创建一个File对象,指定文件路径和文件名。代码如下: ``` File file = new File("test.txt"); FileOutputStream fos = new FileOutputStream(file); byte[] bytes = content.getBytes(); fos.write(bytes); fos.close(); ``` 在这里,将字符串转为字节数组,使用write方法将字节数组写入文件。最后关闭输出流。 接下来,我们使用FileInputStream类读出文件内容,并显示屏幕上。代码如下: ``` FileInputStream fis = new FileInputStream(file); byte[] bytes = new byte[(int) file.length()]; int len; while ((len = fis.read(bytes)) != -1) { System.out.println(new String(bytes, 0, len)); } fis.close(); ``` 这里要注意,读取字节时,要根据文件的长度来指定字节数组的大小。使用while循环读取字节,直到文件结束。将读取到的字节数组转为字符串,并输出到屏幕上。最后关闭输入流。 完整代码如下: ``` import java.io.*; import java.util.Scanner; public class Test { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入写入文件内容:"); String content = scanner.nextLine(); File file = new File("test.txt"); try { FileOutputStream fos = new FileOutputStream(file); byte[] bytes = content.getBytes(); fos.write(bytes); fos.close(); FileInputStream fis = new FileInputStream(file); bytes = new byte[(int) file.length()]; int len; while ((len = fis.read(bytes)) != -1) { System.out.println(new String(bytes, 0, len)); } fis.close(); } catch (IOException e) { e.printStackTrace(); } } } ``` 运行程序,可以输入写入文件字符串,然后在控制台中显示出来。接着程序会将字符写入文件,并读出并输出到屏幕上。 ### 回答3: 接收键盘输入字符串可以使用Scanner类,代码示例如下: ``` import java.util.Scanner; public class FileWrite { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入写入文件字符串:"); String str = scanner.nextLine(); // 使用FileOutputStream将字符写入文件 try { FileOutputStream fos = new FileOutputStream("test.txt", true); fos.write(str.getBytes()); fos.close(); } catch (IOException e) { e.printStackTrace(); } // 使用FileInputStream读取文件内容显示屏幕上 try { FileInputStream fis = new FileInputStream("test.txt"); byte[] bytes = new byte[fis.available()]; fis.read(bytes); fis.close(); String content = new String(bytes); System.out.println("从文件读取的内容如下:"); System.out.println(content); } catch (IOException e) { e.printStackTrace(); } } } ``` 上述代码中,先使用Scanner类接收键盘输入字符串,然后使用FileOutputStream类将字符写入文件,FileOutputStream的构造函数中第一个参数是文件名,第二个参数是是否以追加的方式写入文件。接着使用FileInputStream类读取文件内容,FileInputStream的构造函数中只需要传入文件名即可。由于读取文件内容后返回的是字节数组,因此需要将其转换成字符串后输出。完成后运行程序,便可在test.txt文件中看到输入字符串,并在控制台上显示文件内容

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

微笑大笑i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值