参考:

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 输入输出程序开发的更多相关文章

  1. ubuntu上用eclipse搭建java、python开发环境

    上一篇文章讲到如何在windwos上用eclipse搭建java.python开发环境,这一讲将关注如何在ubuntu上实现搭建,本人使用虚拟机安装的ubuntu系统,系统版本为:14.04 lts ...

  2. JAVA EE企业级开发四步走完全攻略 [转]

    http://bbs.51cto.com/thread-550558-1.html 本文是J2EE企业级开发四步走完全攻略索引,因内容比较广泛,涉及整个JAVA EE开发相关知识,这是一个长期的计划, ...

  3. tomcat免重启随意更改java代码 提高开发效率

    转载:http://developer.51cto.com/art/201012/241243.htm 做为了一个java开发人员,总是为因为要增加一个类,或是增加删除一个方法,甚至修改一个小处代码而 ...

  4. 使用MyEclipse搭建java Web项目开发

    转自:http://blog.csdn.net/jiuqiyuliang/article/details/36875217 首先,在开始搭建MyEclipse的开发环境之前,还有三步工具的安装需要完成 ...

  5. Spark+ECLIPSE+JAVA+MAVEN windows开发环境搭建及入门实例【附详细代码】

    http://blog.csdn.net/xiefu5hh/article/details/51707529 Spark+ECLIPSE+JAVA+MAVEN windows开发环境搭建及入门实例[附 ...

  6. 数据库面试技巧,通过JDBC展示自己专业性,摘自java web轻量级开发面试教程

    这篇文章是我之前写的博文 数据库方面的面试技巧,如何从建表方面展示自己能力 和 面试技巧,如何通过索引说数据库优化能力,内容来自Java web轻量级开发面试教程是一个系列的,通过面试官的视角和大家分 ...

  7. 【JAVA零基础入门系列】Day7 Java输入与输出

    [JAVA零基础入门系列](已完结)导航目录 Day1 开发环境搭建 Day2 Java集成开发环境IDEA Day3 Java基本数据类型 Day4 变量与常量 Day5 Java中的运算符 Day ...

  8. Java开发知识之Java的集成开发环境

    Java开发知识之Java的集成开发环境 一丶Eclipse 开发环境 Eclipse是IBM公司花了4000万美金开发的一个集成开发环境.是一个免费开源的. 下载官网: http://www.ecl ...

  9. Java Web应用开发中的一些概念

    最近在学习Java Web,发现Java Web的概念很多,而且各个概念之间的关系也挺复杂,本篇博客把这些关系总结于此,主要参考的博客附在文章末尾. 概念 服务器 服务器,硬件角度上说就是一台高性能的 ...

随机推荐

  1. poj 3468: A Simple Problem with Integers (树状数组区间更新)

    题目链接: http://poj.org/problem?id=3468 题目是对一个数组,支持两种操作 操作C:对下标从a到b的每个元素,值增加c: 操作Q:对求下标从a到b的元素值之和. 这道题也 ...

  2. Apache Flink 为什么能够成为新一代大数据计算引擎?

    众所周知,Apache Flink(以下简称 Flink)最早诞生于欧洲,2014 年由其创始团队捐赠给 Apache 基金会.如同其他诞生之初的项目,它新鲜,它开源,它适应了快速转的世界中更重视的速 ...

  3. 一文带你领略虚拟化领域顶级技术会议KVM Forum 2018

    KVM Forum是由Linux基金会组织的高端技术论坛会议,主要为社区各个维护者,开发人员,和用户提供一个讨论Linux虚拟化技术发展趋势以及挑战的交流场所.参会人员都集中在KVM虚拟化相关领域,是 ...

  4. Git中的分支

    具体请参考:https://git-scm.com/book/zh/v1/Git-%E5%88%86%E6%94%AF-%E4%BD%95%E8%B0%93%E5%88%86%E6%94%AF Git ...

  5. 「NOI2017」蔬菜 解题报告

    「NOI2017」蔬菜 首先考虑流 可以从 \(s\) 流入表示得到蔬菜,流出到 \(t\) 表示卖出蔬菜,给每个蔬菜拆点,并给它它每天应得的蔬菜. 但是我们没办法直接给,注意到如果把变质看成得到并可 ...

  6. PHPSTORM破解版激活方式方法

    方法一. 通过Licence Server 激活PHPStorm(快速) 方法原理是通过搭建服务器激活,不过网上有许多搭建好的. http://idea.goxz.gq http://v2mc.net ...

  7. flutter图片组件

    在flutter中,image组件有很多构造函数,常用的包括Image.asset(本地图片)和Image.network(远程图片). 常用属性 不管是显示本地图片还是远程图片,image组件都包含 ...

  8. ArcMap如何撤销配准

    ArcMap地理配准时,更新地理配准后,就没法撤销了. 如何解决呢,更新地理配准后,会在源文件夹中自动生成配准文件(文件格式为.over  .jgwx  .xml),可以通过删除这些文件来清除配准.

  9. 4.tensorflow——CNN

    1.CNN结构:X-->CONV(relu)-->MAXPOOL-->CONV(relu)-->FC(relu)-->FC(softmax)-->Y 1.1 卷积层 ...

  10. 2.tensorflow——Softmax回归

    import numpy as np import tensorflow as tf import matplotlib.pyplot as plt from tensorflow.examples. ...