package countio;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException; public class MyUtil {
/*
* 工具类中的方法都是静态方式访问的 因此将构造器私有不允许创建对象(绝对好习惯)
*/
private MyUtil(){
throw new AssertionError();
}
/*
* @param filename 文件名
* @param word 字符串
* @return 字符串在文件中出现的次数
*/
public static int countWorInFile(String filename,String word){
int counter=;
FileReader fr = null;
BufferedReader br = null;
try{
fr = new FileReader(filename);
br = new BufferedReader(fr);//字符缓存输入流(从文件--输入-->程序)
String line = null;
while((line = br.readLine())!= null){
int index = -;
//每一次读取到的字符串一定大于等于所要找的串hello indexOf返回某个指定的字符串值在字符串中首次出现的位置
while((line.length() >= word.length() && (index =line.indexOf(word))>=)){
counter++;
System.out.println(index);//输出4 4
line = line.substring(index+word.length());//从0开始
}
}
}catch(Exception e){
e.printStackTrace();
}finally{
if(br != null){
try {
br.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//fr.close();同上进行先判断后关闭 防止 还没建立就关闭掉资源了
}
return counter; }
public static void main(String[] args){
/*
* File.separator表示系统相关的分隔符,Linux下为:/ Windows下为:\\
* heiwhellodohehellod(有2个hello)
*/
//String filename = "\\d:\\hello.txt\\";
String filename = File.separator+"d:"+File.separator+"hello.txt"+File.separator;
int counter = countWorInFile(filename,"hello");
System.out.println("字符串hello出现的次数是:"+counter);
}
}

java中String的一些方法深入解析

1、public String(char[] c,begin,length).
从字符数组c的下标begin处开始,将长度为length的字符数组转换为字符串。
begin与length可以省略,即将字符数组c转换为字符串。另:字符数组可改为字节数组byte[] b.
char[] c=new char[]{'j','y','6','a','4','t','9'}; 
String s1=new String(c); 
String s=new String(c,2,3); 
System.out.println(s1);
System.out.println(s);


2、public char[] toCharArray().
字符串装换成字符数组。

3、public char charAt(int 下标).
返回字符串中指定位置的字符。
String s="jkdfsdf";
char t=s.charAt(3);

4、public byte[] getBytes().
将一个字符串转换成字节数组,其默认输出为ASCII值,可通过char强制类型转换输出字节。String s="sjdfsdf";
byte[] b=s.getBytes();

5、public String trim().
清除字符串左右两端的空格。
String s="skkgnsdfsd   ";
System.out.println(s.trim());

6、public int indexOf(String s,int index).
从字符串中查找指定位置之后指定的字符所在的位置。若不指定位置,则从头开始。
String s="dgdgdg";
int n=s.indexOf("t");//从头开始查找
int n1=s.indexOf("d",3);//从位置3处开始查找

7、public String substring(int beginindex,int endindex ).
截取所指定的从开始位置到结束位置的字符串,不包含结束字符。结束位置可以省略。
String s="sdgsgghd";
String s1=s.substring(2,4);
String s2=s.substring(2);


8、public String[] split(String s).
通过指定的字符分割字符串。
String s="dfgdhdfgdrhrhgdt";
String ss[]=s.split("d");
for(int i=0;i<ss.length;i++)
System.out.println(ss[i]);


9、public String toUpperCase()./public String toLowerCase().字符大小写转换。
String s="dfgdhdfgdrhrhgdt";
String s1=s.toUpperCase();//字符全大写
String s2=s.toLowerCase();//字符全小写


10、public boolean startsWith(String s)./public boolean endsWith(String s).检测字符串是否是以指定的字符开始/结尾。
String s="dfdhffghrtgfjn mjg";
boolean t1=s.startsWith("e");
boolean t2=s.endsWith("h");


11、判断字符串是否相等,区分大小写:equals()。不区分大小写equalsIgnoreCase().
String s="dfgdghdf";
String s1="sfsgsdu";
s.equals(s1);


12、public String replaceAll(String s,String s1).将字符串中的s都替换成s1.
String s="dfgdghdf";
String s1=s.replaceAll("d","f");

package stringtest;

public class TestString {

    public static void main(String[] args) {
char[] c=new char[]{'j','y','','a','','t',''};
String s1=new String(c);
String s=new String(c,,);
/* System.out.println(s1.charAt(3));//a
System.out.println(s);//6a4
*/
/*char[] c1 = s1.toCharArray();
for(int i=0; i<c1.length; i++){
System.out.print(c1[i]+",");//j,y,6,a,4,t,9,
}*/
/*String result="";
byte[] bytes = s1.getBytes();*/ /*String ss="dgdgdg";
int n=ss.indexOf("t");//从头开始查找
int n3=ss.indexOf("d",3);//从位置3处开始查找
int n1=ss.indexOf("d",1);//从位置1处开始查找
System.out.println(n);//-1
System.out.println(n1);//2
System.out.println(n3);//4
*/
String dd="sdgsgghd";
System.out.println(dd.substring(,));//gs
System.out.println(dd.substring());//gsgghd
}
}

String的一些方法试探的更多相关文章

  1. ERROR: “System.Web.Mvc.Controller.File(string, string, string)”是一个“方法”

    ERROR: “System.Web.Mvc.Controller.File(string, string, string)”是一个“方法”,这在给定的上下文中无效 这是一个与Controller.F ...

  2. java String 中 intern方法的概念

    1. 首先String不属于8种基本数据类型,String是一个对象. 因为对象的默认值是null,所以String的默认值也是null:但它又是一种特殊的对象,有其它对象没有的一些特性. 2. ne ...

  3. PDO 查询mysql返回字段整型变为String型解决方法

    PDO 查询mysql返回字段整型变为String型解决方法 使用PDO查询mysql数据库时,执行prepare,execute后,返回的字段数据全都变为字符型. 例如id在数据库中是Int的,查询 ...

  4. IE8下String的Trim()方法失效的解决方法

    String的Trim()方法失效,在ie8下是有这样的情况的,解决方法也很简单使用$.trim(str)即可,需要的朋友可以了解下 用jquery的trim()方法,$.trim(str)就可以了.

  5. asp.net遍历页面中所有TextBox,并赋值为String.Empty的方法

    本文介绍下,如何用.net遍历页面中的所有TextBox控件,并赋值为string.empty的方法,通过实例学习具体操作.有需要的朋友可以参考下.   一.遍历窗体控件 1,普通页面遍历TextBo ...

  6. String 的intern() 方法说明

    1.说明 Java中string.intern()方法调用会先去字符串常量池中查找相应的字符串,如果字符串不存在,就会在字符串常量池中创建该字符串然后再返回. 2.源码说明 public native ...

  7. JavaScript中String.prototype.replace() 方法的使用

    摘抄于:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/String/replace ...

  8. 深入分析Java的String类的方法与特点

    字符串是任何编程语言都必须支持的变量类型,有些编程语言是直接提供了原生的变量类型,有些编程语言则使用语法特性以 SDK 的形式提供支持.在Java编程平台中,对字符串的支持使用了后者的形式,就是通过在 ...

  9. 《java入门第一季》之类(String类常见方法小叙)

    String类下面的构造方法和一些常见的方法: /* * 字符串:就是由多个字符组成的一串数据.也可以看成是一个字符数组. * 通过查看API,可以知道 * A:字符串字面值"abc&quo ...

随机推荐

  1. mysql查询当前系统时间

    第一种方法:select current_date: MySQL> select current_date as Systemtime;+------------+| Systemtime |+ ...

  2. Android之仿iphone抖动效果

    转自:http://blog.csdn.net/long33long/article/details/7693671 布局文件: <?xml version="1.0" en ...

  3. Material Designer的低版本兼容实现(十四)—— CardView

    今天说的又是一个5.0中才有的新控件——CardView(卡片视图).这个东东其实我们早就见过了,无论是微博还是人人客户端,它都有出现.通常我们都是通过自定义一个背景图片,然后通过给layout进行设 ...

  4. [转] hive0.14-insert、update、delete操作测试

    FROM : http://blog.csdn.net/hi_box/article/details/40820341 首先用最普通的建表语句建一个表: hive>create table te ...

  5. verilog语法实例学习(2)

    Verilog中的信号类型 线网类型 线网类型表示一个或多个门或者其它类型的信号源驱动的硬件连线.如果没有驱动源,则线网的默认值为z.verilog中定义的线网类型有以下几种:     wire,tr ...

  6. 算法:快速排序实现 & 定制比较函数

    1. 快速排序基本算法 #include<stdio.h> ; int quick_sort(int *a, int start, int end){ if (start >= en ...

  7. asp.net mvc源码分析-ModelValidatorProviders 客户端的验证

    几年写过asp.net mvc源码分析-ModelValidatorProviders 当时主要是考虑mvc的流程对,客户端的验证也只是简单的提及了一下,现在我们来仔细看一下客户端的验证. 如图所示, ...

  8. [leetcode]Rotate Image @ Python

    原题地址:https://oj.leetcode.com/problems/rotate-image/ 题意: You are given an n x n 2D matrix representin ...

  9. [leetcode]Evaluate Reverse Polish Notation @ Python

    原题地址:https://oj.leetcode.com/problems/evaluate-reverse-polish-notation/ 题意: Evaluate the value of an ...

  10. Validate Binary Search Tree leetcode java

    题目: Given a binary tree, determine if it is a valid binary search tree (BST). Assume a BST is define ...