java输入输出程序代码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java输入输出程序代码相关的知识,希望对你有一定的参考价值。

参考技术A

概述

java程序输入需要用到Scanner工具类,输出则使用println

解析

1、输入:

从键盘输入需要用到java的Scanner这个util包下的工具类

Scanner中输入是需要对输入的字符进行分类,int类型为nextint()方法,double类型为nextDouble()方法,字符串类型为next()方法。

#code:

#out:

2、输出:

java常用的输出为println

#code:

#out:

除了println()方法之外,java还有print()和printf()两种输出方法,

print、println、printf的区别:

print--是函数,可以返回一个值,只能有一个参数。

println 将它的参数显示在命令窗口,并在结尾加上换行符,将输出光标定位在下一行的开始。

printf--函数,把文字格式化以后输出,直接调用系统调用进行IO的,他是非缓冲的。

拓展内容

java 输入输出流(I/O)

Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列。Java的I/O流提供了读写数据的标准方法。任何Java中表示数据源的对象都会提供以数据流的方式读写它的数据的方法。  

Java.io是大多数面向数据流的输入/输出类的主要软件包。此外,Java也对块传输提供支持,在核心库 java.nio中采用的便是块IO。

流IO的好处是简单易用,缺点是效率较低。块IO效率很高,但编程比较复杂。 

Java IO模型  :
Java的IO模型设计非常优秀,它使用Decorator模式,按功能划分Stream,您可以动态装配这些Stream,以便获得您需要的功能。例如,您需要一个具有缓冲的文件输入流,则应当组合使用FileInputStream和BufferedInputStream。 

输入流(Input  Stream):

程序从输入流读取数据源。数据源包括外界(键盘、文件、网络?),即是将数据源读入到程序的通信通道。

输出流(output Stream):

程序向输出流写入数据。将程序中的数据输出到外界(显示器、打印机、文件、网络?)的通信通道。

JAVA 输入输出程序开发

参考:

java中 静态方法和非静态方法的区别

字符流的输入和输出

java文件创建、删除、读取、写入操作大全

Java键盘输入并且写入文件

File类的isDiretory

Java统计子串在字符串中出现的次数

java File类list()和listFile()的方法区别

统计某个路径下所有的java文件,以及统计代码数量

java 去除首尾空格trim()方法

 

 

 技术分享图片

import java.io.*;




public class HandInput{
    //生成文件路径
    //private static String path  = "Documents/code/java 输入输出程序开发";

    //文件路径+名称
    private static String filenameTemp;

    /**
     * 创建文件
     * @param fileName 文件名称
     * @return 是否创建成功,成功则返回true
     */
    public static boolean createFile(String fileName){
        Boolean bool = false;
        filenameTemp = fileName+".txt"; //文件路径+名称+文件类型 ?
        File file = new File(filenameTemp);
        try{
            //如果文件不存在,则创建新的文件
            if(!file.exists()){
                file.createNewFile();
                bool = true;
                System.out.println("success create file, the file is "+filenameTemp);
                //创建InputStreamReader对象,用来读取字符流
                //缓冲指定 字符流的输入
                //FileInputStream->InputStreamReader->BufferedReader
                BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
                BufferedWriter buf2 = new BufferedWriter(new FileWriter(filenameTemp));
                String str = buf.readLine();
                while(!str.equals("end#")){
                    buf2.write(str);
                    buf2.newLine();
                    str = buf.readLine();
                }
                buf2.flush(); //刷新该流的缓冲,即将该流输出到目的
                buf2.close();
                buf.close();
            }
            else {
                System.out.println("file is exist");
            }
        } catch(Exception e) {
            e.printStackTrace();
        }

        return bool;
    }

    public static void main(String[] args){
        createFile("f");
    }
}

 

技术分享图片

 

import java.io.*;

public class WordCount {
    public static void main(String[] args) throws IOException {
        File file = new File("article.txt");
        //isDirectory()是检查一个对象是否是文件夹
        if(!file.exists() || file.isDirectory()){
            throw new FileNotFoundException();
        }
        BufferedReader br = new BufferedReader(new FileReader(file));
        int count=0;

        String tmp = null;
        tmp = br.readLine();

        while(tmp!=null){
            tmp = tmp.toLowerCase();
            System.out.println(tmp);
            while(tmp.indexOf("hello")!=-1){ //调用String类的indexOf(String str)方法,返回第一个相同字符串出现的下标
                count++;
                tmp = tmp.substring(tmp.indexOf("hello")+5); //调用String类的substring(int beginIndex)方法,获得第一个相同字符串出现后的字符串
            }
            tmp = br.readLine();

        }
        System.out.println("单词hello在文章article中出现的次数为: "+count);
    }
}

 

技术分享图片

 

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;


public class CodeCount {
    static List<File> javalsf = new ArrayList<File>();
    static List<File> lsf = new ArrayList<File>();
    static int count =0;

    public static void main(String[] args) throws Exception{
       File file = new File("/Users/fitzroy/Documents/code/汇添富移动互联股票(000697)基金收益程序/src");
       getJavaFiles(file);
       System.out.println("有"+javalsf.size()+"个.java源文件");
       getLinesOfCode(javalsf);
    }

    public static List<File> getJavaFiles(File file){
        if(!file.exists()){
            System.out.println("file not exists");
        }
        else{
            if(file.isFile()){ //是文件
                String  filename = file.getName();
                if(filename.substring(filename.lastIndexOf(".")+1).equals("java")){ //后缀为.java的文件
                    javalsf.add(file);
                }
            }
            else{ //是文件夹
                File[] filelist = file.listFiles(); //获取文件夹中的File
                for(File files : filelist){
                    getJavaFiles(files);
                }
            }
        }

        return javalsf;
    }

    public static int getLinesOfCode(List<File> javaFiles) {
        int num = 0;
        try {
            for (File file : javaFiles) {
                System.out.println("File: " + file.getName());
                InputStreamReader is = new InputStreamReader(new FileInputStream(file));
                BufferedReader br = new BufferedReader(is);
                String str = null;
                str = br.readLine();
                while (str != null) {
                    str = str.trim();
                    if (!str.startsWith("//") && !str.equals("")) {
                        num++;
                    }
                    str = br.readLine();
                }
                count += num;
                System.out.println("lines of code: " + num);
                System.out.println("-------------------");
                br.close();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        System.out.println("total: " + count);
        return count;
    }
}

 

以上是关于java输入输出程序代码的主要内容,如果未能解决你的问题,请参考以下文章

求java程序,输入数字,输出相应行数的金字塔星星

JAVA 输入输出程序开发

第五届新疆省ACM-ICPC程序设计竞赛(Java版)

JAVA基础-输入输出:1.编写TextRw.java的Java应用程序,程序完成的功能是:首先向TextRw.txt中写入自己的学号和姓名,读取TextRw.txt中信息并将其显示在屏幕上。(代码片

JavaSe 程序逻辑控制

Java编写程序,输入年份,输出本年度各月份日历