JAVA 输入输出程序开发
参考:
java File类list()和listFile()的方法区别

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 输入输出程序开发的更多相关文章
- ubuntu上用eclipse搭建java、python开发环境
上一篇文章讲到如何在windwos上用eclipse搭建java.python开发环境,这一讲将关注如何在ubuntu上实现搭建,本人使用虚拟机安装的ubuntu系统,系统版本为:14.04 lts ...
- JAVA EE企业级开发四步走完全攻略 [转]
http://bbs.51cto.com/thread-550558-1.html 本文是J2EE企业级开发四步走完全攻略索引,因内容比较广泛,涉及整个JAVA EE开发相关知识,这是一个长期的计划, ...
- tomcat免重启随意更改java代码 提高开发效率
转载:http://developer.51cto.com/art/201012/241243.htm 做为了一个java开发人员,总是为因为要增加一个类,或是增加删除一个方法,甚至修改一个小处代码而 ...
- 使用MyEclipse搭建java Web项目开发
转自:http://blog.csdn.net/jiuqiyuliang/article/details/36875217 首先,在开始搭建MyEclipse的开发环境之前,还有三步工具的安装需要完成 ...
- Spark+ECLIPSE+JAVA+MAVEN windows开发环境搭建及入门实例【附详细代码】
http://blog.csdn.net/xiefu5hh/article/details/51707529 Spark+ECLIPSE+JAVA+MAVEN windows开发环境搭建及入门实例[附 ...
- 数据库面试技巧,通过JDBC展示自己专业性,摘自java web轻量级开发面试教程
这篇文章是我之前写的博文 数据库方面的面试技巧,如何从建表方面展示自己能力 和 面试技巧,如何通过索引说数据库优化能力,内容来自Java web轻量级开发面试教程是一个系列的,通过面试官的视角和大家分 ...
- 【JAVA零基础入门系列】Day7 Java输入与输出
[JAVA零基础入门系列](已完结)导航目录 Day1 开发环境搭建 Day2 Java集成开发环境IDEA Day3 Java基本数据类型 Day4 变量与常量 Day5 Java中的运算符 Day ...
- Java开发知识之Java的集成开发环境
Java开发知识之Java的集成开发环境 一丶Eclipse 开发环境 Eclipse是IBM公司花了4000万美金开发的一个集成开发环境.是一个免费开源的. 下载官网: http://www.ecl ...
- Java Web应用开发中的一些概念
最近在学习Java Web,发现Java Web的概念很多,而且各个概念之间的关系也挺复杂,本篇博客把这些关系总结于此,主要参考的博客附在文章末尾. 概念 服务器 服务器,硬件角度上说就是一台高性能的 ...
随机推荐
- Mac OS 网络设置教程 wifi设置与宽带设置详解
虽然所有设备连接无线网络的步骤都相差无几,但是Mac与windows系统还是不相同的,那么,苹果Mac怎么连接无线网络呢?针对此问题,本文就为大家介绍Mac网络的设置教程,有兴趣的朋友们可以了解下.如 ...
- MYSQL5.7.9改密码相关设置
Centos7上,对MySQL5.7开启远程连接. 1.修改/etc/my.cnf [mysqld] validate_password=off 2.命令行进入mysql use mysql; GRA ...
- js this 指向
JavaScript 作为一种脚本语言身份的存在,因此被很多人认为是简单易学的.然而情况恰恰相反,JavaScript 支持函数式编程.闭包.基于原型的继承等高级功能.由于其运行期绑定的特性,Java ...
- 【JVM】垃圾收集器和收集器的选择策略
前言:新生代的收集器有:Serial,ParNew,Parallel Scavenge等.老年代有:CMS,SerialOld,Paraller Old等.接下来将深入理解各个垃圾收集器的原理,以及它 ...
- a标签指定的url,在表单提交前进行js验证的实现
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- macOS 和 Linux 的内核区别
有些人可能会认为 macOS 和 Linux 内核之间存在相似之处,因为它们可以处理类似的命令和类似的软件.有些人甚至认为苹果公司的 macOS 是基于 Linux 的.事实上是,两个内核有着截然不同 ...
- <三剑客> 老三:grep命令用法
grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正 ...
- [NOIP2017]逛公园 题解
我连D1T3都不会我联赛完蛋了 题目描述 策策同学特别喜欢逛公园.公园可以看成一张 N 个点 M 条边构成的有向图,且没有 自环和重边.其中1号点是公园的入口, N 号点是公园的出口,每条边有一个非负 ...
- vue仿追书神器,vue小说项目源码
vue-reader 一点阅读器!API源自追书神器,免费使用!目前已初步开发完成! Github项目地址:https://github.com/AntonySufer/vue-readle 欢迎is ...
- error C2065: “SHCNE_DELETE”: 未声明的标识符
转自VC错误:http://www.vcerror.com/?p=1383 问题描述: 编译时出现: error C2065: "SHCNE_DELETE": 未声明的标识符 er ...