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的概念很多,而且各个概念之间的关系也挺复杂,本篇博客把这些关系总结于此,主要参考的博客附在文章末尾. 概念 服务器 服务器,硬件角度上说就是一台高性能的 ...
随机推荐
- JMeter生成UUID方式
1. 使用JMeter工具中自带的函数__UUID 2. 使用Beanshell组件,在脚本中引入java.util.UUID,通过java来生成 import java.util.UUID; UUI ...
- 用Redis进行实时数据排名
1先生成一个Redis对象 2实例化一个对象.zscore有序集合中进行排序 3 Redis Zscore命令返回有序集合中,成员的分数值.如果成员元素不是有序集合 key的成员,则key不存在,返回 ...
- flask中间件请求流程
from flask import Flask,session,url_for,request,flash,get_flashed_messages app = Flask(__name__) app ...
- 数据挖掘:周期性分析SMCA算法
数据挖掘:周期性分析SMCA算法 原文地址:http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=1423978 算法介绍 以时间顺序挖掘周期性的模式 ...
- LUOGU P4783 【模板】矩阵求逆(高斯消元)
传送门 解题思路 用高斯消元对矩阵求逆,设\(A*B=C\),\(C\)为单位矩阵,则\(B\)为\(A\)的逆矩阵.做法是把\(B\)先设成单位矩阵,然后对\(A\)做高斯消元的过程,对\(B\)进 ...
- [CSP-S模拟测试]:water(BFS)
题目描述 有一块矩形土地被划分成$n\times m$个正方形小块.这些小块高低不平,每一小块都有自己的高度.水流可以由任意一块地流向周围四个方向的四块地中,但是不能直接流入对角相连的小块中.一场大雨 ...
- 防止NSTimer和调用对象之间的循环引用
防止NSTimer和调用对象之间的循环引用 @interface NSTimer (EOCBlocksSupport) + (NSTimer *)eoc_scheduledTimerWithTimeI ...
- C# foreach和for比较
foreach优点: 1.语句更简洁 2.不需要强制类型转换(比如输出的时候要进行一下乘运算) 3.多维数组遍历只需一行代码 4.不用对索引进行检查 缺点: 1.不能对数据进行修改 参考:https: ...
- 2018-2019-2 20175120 实验五《Java网络编程》实验报告
实验报告封面 课程:Java程序设计 班级:1751班 姓名:彭宇辰 学号:20175120 指导教师:娄嘉鹏 实验日期:2019年5月26日 实验时间:13:10 - 15:25 实验序号:20 实 ...
- python web自动化测试框架搭建(功能&接口)——环境搭建
自动化测试框架一般需要实现以下通用功能 执行前准备 结束后清理 执行步骤输出 执行结果输出 错误.失败截图 测试报告 发送邮件 日志 需要的软件和python第三方库有: 通用: JDK Eclips ...