亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? perl11.htm

?? Perl-5中文教程,Perl對于許多人來說可能不是很了解
?? HTM
?? 第 1 頁 / 共 3 頁
字號:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb_2312-80">
<title>Perl之文件系統</title>
<LINK rel="stylesheet" href="article.css" type="text/css">
</head>
<body>
<br>
<p align="center"><strong>第十一章&nbsp;&nbsp;文件系統</strong></p>

<p align="center"><a target="_blank" href="http://flamephoenix.126.com">by flamephoenix</a></p>

<a href="#1">一、文件輸入/輸出函數</a><br>
 &nbsp; <a href="#1.1">1、基本I/O函數</a><br>
 &nbsp;  &nbsp; <a href="#1.1.1">1)open函數</a><br>
 &nbsp;  &nbsp; <a href="#1.1.2">2)用open重定向輸入</a><br>
 &nbsp;  &nbsp; <a href="#1.1.3">3)文件重定向</a><br>
 &nbsp;  &nbsp; <a href="#1.1.4">4)指定讀寫權限</a><br>
 &nbsp;  &nbsp; <a href="#1.1.5">5)close函數</a><br>
 &nbsp;  &nbsp; <a href="#1.1.6">6)print, printf和write函數     </a><br>
 &nbsp;  &nbsp; <a href="#1.1.7">7)select函數</a><br>
 &nbsp;  &nbsp; <a href="#1.1.8">8)eof函數</a><br>
 &nbsp;  &nbsp; <a href="#1.1.9">9)間接文件變量</a><br>
 &nbsp; <a href="#1.2">2、跳過和重讀數據</a><br>
 &nbsp; <a href="#1.3">3、系統讀寫函數</a><br>
 &nbsp; <a href="#1.4">4、用getc讀取字符</a><br>
 &nbsp; <a href="#1.5">5、用binmode讀取二進制文件</a><br>
<a href="#2">二、目錄處理函數</a><br>
 &nbsp; <a href="#2.1">1、mkdir</a><br>
 &nbsp; <a href="#2.2">2、chdir</a><br>
 &nbsp; <a href="#2.3">3、opendir</a><br>
 &nbsp; <a href="#2.4">4、closedir</a><br>
 &nbsp; <a href="#2.5">5、readdir</a><br>
 &nbsp; <a href="#2.6">6、telldir</a><br>
 &nbsp; <a href="#2.7">7、seekdir</a><br>
 &nbsp; <a href="#2.8">8、rewinddir</a><br>
 &nbsp; <a href="#2.9">9、rmdir</a><br>
<a href="#3">三、文件屬性函數</a><br>
 &nbsp; <a href="#3.1">1、文件重定位函數</a><br>
 &nbsp; <a href="#3.2">2、鏈接和符號鏈接函數</a><br>
 &nbsp; <a href="#3.3">3、文件許可權函數</a><br>
 &nbsp; <a href="#3.4">4、其他屬性函數</a><br>
<a href="#4">四、使用DBM文件</a><br>

<br>
&nbsp;&nbsp;&nbsp;&nbsp;本章所講的函數多數使用了UNIX操作系統的特性,在非UNIX系統中,一些函數可能沒有定義或有不同的工作方式,使用時請查看Perl聯機文檔。<br>
<a name="1">一、文件輸入/輸出函數</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;本節講述從文件中讀取信息和向文件寫入信息的內置庫函數。<br>
<a name="1.1">1、基本I/O函數</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;一些I/O函數在前面的章節中已有講述,如<br>
<blockquote>
<li>open:允許程序訪問文件</li>
<li>close:終止文件訪問</li>
<li>print:文件寫入字符串</li>
<li>write:向文件寫入格式化信息</li>
<li>printf:格式化字符串并輸出到文件</li>
</blockquote>
&nbsp;&nbsp;&nbsp;&nbsp;這里簡單回顧一下,再講一些前面未提到的函數。<br>
<a name="1.1.1">1)open函數</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;open函數將文件變量與某文件聯系起來,提供訪問文件的接口,例如:open(MYVAR, "/u/file"); 如果文件打開成功,則返回非零值,否則返回零。缺省地,open打開文件用以讀取其內容,若想打開文件以寫入內容,則在文件名前加個大于號:open(MYVAR, ">/u/file"); 向已有的文件末尾添加內容用兩個大于號:open(MYVAR, ">>/u/file"); 若想打開文件作為數據導向的命令,則在命令前加上管道符(|):open(MAIL, "|mail dave");<br>
<a name="1.1.2">2)用open重定向輸入</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;可以把打開的文件句柄用作向程序輸入數據的命令,方法是在命令后加管道符(|),如:<br>
&nbsp;&nbsp;&nbsp;&nbsp;open(CAT, "cat file*|");<br>
&nbsp;&nbsp;&nbsp;&nbsp;對open的調用運行命令cat file* ,此命令創建一個臨時文件,這個文件的內容是所有以file打頭的文件的內容連接而成,此文件看作輸入文件,可用文件變量CAT訪問,如:<br>
&nbsp;&nbsp;&nbsp;&nbsp;$input = <CAT>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;下面的例子使用命令w的輸出來列出當前登錄的所有用戶名。<br>
<blockquote>
1 : #!/usr/local/bin/perl<br>
2 :<br>
3 : open (WOUT, "w|");<br>
4 : $time = &lt;WOUT&gt;;<br>
5 : $time =~ s/^ *//;<br>
6 : $time =~ s/ .*//;<br>
7 : <WOUT>;   # skip headings line<br>
8 : @users = <WOUT>;<br>
9 : close (WOUT);<br>
10: foreach $user (@users) {<br>
11: &nbsp;   $user =~ s/ .*//;<br>
12: }<br>
13: print ("Current time:  $time");<br>
14: print ("Users logged on:\n");<br>
15: $prevuser = "";<br>
16: foreach $user (sort @users) {<br>
17: &nbsp;  if ($user ne $prevuser) {<br>
18: &nbsp; &nbsp;   print ("\t$user");<br>
19: &nbsp; &nbsp;   $prevuser = $user;<br>
20: &nbsp;  }<br>
21: }
</blockquote>
&nbsp;&nbsp;&nbsp;&nbsp;結果輸出如下:<br>
<blockquote>
Current time: 4:25pm<br>
Users logged on:<br>
 &nbsp; dave<br>
 &nbsp; kilroy<br>
 &nbsp; root<br>
 &nbsp; zarquon
</blockquote>
&nbsp;&nbsp;&nbsp;&nbsp;w命令列出當前時間、系統負載和登錄的用戶,以及每個用戶的作業時間和當前運行的命令,如:<br>
<blockquote><pre>
  4:25pm  up 1 day,  6:37,  6 users,  load average: 0.79, 0.36, 0.28
User     tty       login@  idle   JCPU   PCPU what
dave     ttyp0     2:26pm           27      3 w
kilroy   ttyp1     9:01am  2:27   1:04     11 -csh
kilroy   ttyp2     9:02am    43   1:46     27 rn
root     ttyp3     4:22pm     2               -csh
zarquon  ttyp4     1:26pm     4     43     16 cc myprog.c
kilroy   ttyp5     9:03am         2:14     48 /usr/games/hack
</pre></blockquote>
&nbsp;&nbsp;&nbsp;&nbsp;上例中從w命令的輸出中取出所需的信息:當前時間和登錄的用戶名。第3行運行w命令,此處對open的調用指定w的輸出用作程序的輸入,用文件變量WOUT來訪問該輸入。第4行讀取第一行信息,即:<br>
&nbsp;&nbsp;&nbsp;&nbsp;4:25pm  up 1 day,  6:37,  6 users,  load average: 0.79, 0.36, 0.28<br>
&nbsp;&nbsp;&nbsp;&nbsp;接下來的兩行從這行中抽取出時間。首先,第5行刪除起始的空格,然后第6行刪去除時間和結尾換行符之間的所有字符,存入變量$time。<br>
&nbsp;&nbsp;&nbsp;&nbsp;第7行從WOUT讀取第二行,這行中無有用信息,故不作處理。第8行把剩下的行賦給數組@users,然后第9行關閉WOUT,終止運行w命令的進程。<br>
&nbsp;&nbsp;&nbsp;&nbsp;@users中的每個元素都是一行用戶信息,因為本程序只需要每行的第一個單詞,即用戶名,故10~12行去掉除換行符外的其它字符,這一循環結束后,@users中只剩下用戶名的列表。<br>
&nbsp;&nbsp;&nbsp;&nbsp;第13行輸出存貯在$time中的時間,注意這時print不需要加上換行符,因為$time中有。16~21行對@users中的用戶名排序并輸出。因為同一個用戶可以多次登錄,所以用$preuser存貯輸出的最后一個用戶名,下次輸出數組元素$user時,如果其與$preser相等,則不輸出。<br>
<a name="1.1.3">3)文件重定向</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;許多UNIX shell可以把標準輸出文件(STDOUT)和標準錯誤文件(STDERR)都重定向到同一個文件,例如在Bourne Shell(sh)中,命令<br>
&nbsp;&nbsp;&nbsp;&nbsp;$ foo &gt; file1 2&gt;&amp;1<br>
&nbsp;&nbsp;&nbsp;&nbsp;運行命令foo并把輸出到標準輸出文件和標準錯誤文件的內容存貯到文件file1中。下面是用Perl實現這一功能的例子:<br>
<blockquote>
1:  #!/usr/local/bin/perl<br>
2:  <br>
3:  open (STDOUT, "&gt;file1") || die ("open STDOUT failed");<br>
4:  open (STDERR, "&gt;&STDOUT") || die ("open STDERR failed");<br>
5:  print STDOUT ("line 1\n");<br>
6:  print STDERR ("line 2\n");<br>
7:  close (STDOUT);<br>
8:  close (STDERR);
</blockquote>
&nbsp;&nbsp;&nbsp;&nbsp;運行后,文件file1中的內容為:<br>
&nbsp;&nbsp;&nbsp;&nbsp; line 2<br>
&nbsp;&nbsp;&nbsp;&nbsp; line 1<br>
&nbsp;&nbsp;&nbsp;&nbsp;可以看到,這兩行并未按我們想象的順序存貯,為什么呢?我們來分析一下這段程序。<br>
&nbsp;&nbsp;&nbsp;&nbsp;第3行重定向標準輸出文件,方法是打開文件file1將它與文件變量STDOUT關聯,這也關閉了標準輸出文件。第4行重定向標準錯誤文件,參數&gt;&amp;STDOUT告訴Perl解釋器使用已打開并與STDOUT關聯的文件,即文件變量STDERR指向與STDOUT相同的文件。第5、6行分別向STDOUT和STDERR寫入數據,因為這兩個文件變量指向同一個文件,故兩行字符串均寫到文件file1中,但順序卻是錯誤的,怎么回事呢?<br>
&nbsp;&nbsp;&nbsp;&nbsp;問題在于UNIX對輸出的處理上。當使用print(或其它函數)寫入STDOUT等文件時,UNIX操作系統真正所做的是把數據拷貝到一片特殊的內存即緩沖區中,接下來的輸出操作繼續寫入緩沖區直到寫滿,當緩沖區滿了,就把全部數據實際輸出。象這樣先寫入緩沖區再把整個緩沖區的內容輸出比每次都實際輸出所花費的時間要少得多,因為一般來說,I/O比內存操作慢得多。<br>
&nbsp;&nbsp;&nbsp;&nbsp;程序結束時,任何非空的緩沖區都被輸出,然而,系統為STDOUT和STDERR分別維護一片緩沖區,并且先輸出STDERR的內容,因此存貯在STDERR的緩沖區中的內容line 2出現在存貯在STDOUT的緩沖區中的內容line 1之前。<br>
&nbsp;&nbsp;&nbsp;&nbsp;為了解決這個問題,可以告訴Perl解釋器不對文件使用緩沖,方法為:<br>
&nbsp;&nbsp;&nbsp;&nbsp; 1、用select函數選擇文件<br>
&nbsp;&nbsp;&nbsp;&nbsp; 2、把值1賦給系統變量$|<br>
&nbsp;&nbsp;&nbsp;&nbsp;系統變量$|指定文件是否進行緩沖而不管其是否應該使用緩沖。如果$|為非零值則不使用緩沖。$|與系統變量$~和$^協同工作,當未調用select函數時,$|影響當前缺省文件。下例保證了輸出的次序:<br>
<blockquote>
1 :  #!/usr/local/bin/perl<br>
2 :  <br>
3 :  open (STDOUT, "&gt;file1") || die ("open STDOUT failed");<br>
4 :  open (STDERR, "&gt;&amp;STDOUT") || die ("open STDERR failed");<br>
5 :  $| = 1;<br>
6 :  select (STDERR);<br>
7 :  $| = 1;<br>
8 :  print STDOUT ("line 1\n");<br>
9 :  print STDERR ("line 2\n");<br>
10: close (STDOUT);<br>
11: close (STDERR);
</blockquote>
&nbsp;&nbsp;&nbsp;&nbsp;程序運行后,文件file1中內容為:<br>
&nbsp;&nbsp;&nbsp;&nbsp; line 1<br>
&nbsp;&nbsp;&nbsp;&nbsp; line 2<br>
&nbsp;&nbsp;&nbsp;&nbsp;第5行將$|賦成1,告訴Perl解釋器當前缺省文件不進行緩沖,因為未調用select,當前的缺省文件為重定向到文件file1的STDOUT。第6行將當前缺省文件設為STDERR,第7行又設置$|為1,關掉了重定向到file1的標準錯誤文件的緩沖。由于STDOUT和STDERR的緩沖均被關掉,向其的輸出立刻被寫到文件中,因此line 1出現在第一行。<br>
<a name="1.1.4">4)指定讀寫權限</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;打開一個既可讀又可寫的文件方法是在文件名前加上"+&gt;",如下:<br>
&nbsp;&nbsp;&nbsp;&nbsp; open (READWRITE, "+>file1");<br>
&nbsp;&nbsp;&nbsp;&nbsp;此語句打開既可讀又可寫的文件file1,即可以重寫其中的內容。文件讀寫操作最好與庫函數seek和tell一起使用,這樣可以跳到文件任何一點。<br>
&nbsp;&nbsp;&nbsp;&nbsp;注:也可用前綴"+<"指定可讀寫權限。<br>
<a name="1.1.5">5)close函數</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;用于關閉打開的文件。當用close關閉管道,即重定向的命令時,程序等待重定向的命令結束,如:<br>
&nbsp;&nbsp;&nbsp;&nbsp; open (MYPIPE, "cat file*|");<br>
&nbsp;&nbsp;&nbsp;&nbsp; close (MYPIPE);<br>
&nbsp;&nbsp;&nbsp;&nbsp;當關閉此文件變量時,程序暫停運行,直到命令cat file*運行完畢。<br>
<a name="1.1.6">6)print, printf和write函數</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;print是這三個函數中最簡單的,它向指定的文件輸出,如果未指定,則輸出到當前缺省文件中,如:<br>
&nbsp;&nbsp;&nbsp;&nbsp; print ("Hello, there!\n");<br>
&nbsp;&nbsp;&nbsp;&nbsp; print OUTFILE ("Hello, there!\n");<br>
&nbsp;&nbsp;&nbsp;&nbsp;第一句輸出到當前缺省文件中,若未調用select,則為STDOUT。第二句輸出到由文件變量OUTFILE指定的文件中。<br>
&nbsp;&nbsp;&nbsp;&nbsp;printf函數先格式化字符串再輸出到指定文件或當前缺省文件中,如:<br>
&nbsp;&nbsp;&nbsp;&nbsp; printf OUTFILE (“You owe me %8.2f", $owing);<br>
&nbsp;&nbsp;&nbsp;&nbsp;此語句取出變量$owing的值并替換掉串中的%8.2f,%8.2f是域格式的例子,把$owing的值看作浮點數。<br>
&nbsp;&nbsp;&nbsp;&nbsp;write函數使用輸出格式把信息輸出到文件中,如:<br>
&nbsp;&nbsp;&nbsp;&nbsp; select (OUTFILE);<br>
&nbsp;&nbsp;&nbsp;&nbsp; $~ = "MYFORMAT";<br>
&nbsp;&nbsp;&nbsp;&nbsp; write;<br>
&nbsp;&nbsp;&nbsp;&nbsp;關于printf和write,詳見《第x章 格式化輸出》。<br>
<a name="1.1.7">7)select函數</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;select函數將通過參數傳遞的文件變量指定為新的當前缺省文件,如:<br>
&nbsp;&nbsp;&nbsp;&nbsp; select (MYFILE);<br>
&nbsp;&nbsp;&nbsp;&nbsp;這樣,MYFILE就成了當前缺省文件,當對print、write和printf的調用未指定文件時,就輸出到MYFILE中。<br>
<a name="1.1.8">8)eof函數</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;eof函數查看最后一次讀文件操作是否為文件最后一個記錄,如果是,則返回非零值,如果文件還有內容,返回零。<br>
&nbsp;&nbsp;&nbsp;&nbsp;一般情況下,對eof的調用不加括號,因為eof和eof()是等效的,但與&lt;&gt;操作符一起使用時,eof和eof()就不同了?,F在我們來創建兩個文件,分別叫做file1和file2。file1的內容為:<br>
&nbsp;&nbsp;&nbsp;&nbsp; This is a line from the first file.<br>
&nbsp;&nbsp;&nbsp;&nbsp; Here is the last line of the first file.<br>
&nbsp;&nbsp;&nbsp;&nbsp;file2的內容為:<br>
&nbsp;&nbsp;&nbsp;&nbsp; This is a line from the second and last file.<br>
&nbsp;&nbsp;&nbsp;&nbsp; Here is the last line of the last file.<br>
&nbsp;&nbsp;&nbsp;&nbsp;下面就來看一下eof和eof()的區別,第一個程序為:<br>
<blockquote>
1:  #!/usr/local/bin/perl<br>
2:  <br>
3:  while ($line = &lt;&gt;) {<br>
4: &nbsp;   print ($line);<br>
5: &nbsp;   if (eof) {<br>
6: &nbsp; &nbsp;    print ("-- end of current file --\n");<br>
7: &nbsp;   }<br>
8:  }
</blockquote>
&nbsp;&nbsp;&nbsp;&nbsp;運行結果如下:<br>
<blockquote>
$ program file1 file2<br>
This is a line from the first file.<br>
Here is the last line of the first file.<br>
-- end of current file --<br>
This is a line from the second and last file.<br>
Here is the last line of the last file.<br>
-- end of current file --<br>
$
</blockquote>
&nbsp;&nbsp;&nbsp;&nbsp;下面把eof改為eof(),第二個程序為:<br>
<blockquote>
1:  #!/usr/local/bin/perl<br>
2:  <br>
3:  while ($line = &lt;&gt;) {<br>
4:  &nbsp;  print ($line);<br>
5:  &nbsp;  if (eof()) {<br>
6:  &nbsp; &nbsp;   print ("-- end of output --\n");<br>
7:  &nbsp;  }<br>
8:  }
</blockquote>
&nbsp;&nbsp;&nbsp;&nbsp;運行結果如下:<br>
<blockquote>
$ program file1 file2<br>
This is a line from the first file.<br>
Here is the last line of the first file.<br>
This is a line from the second and last file.<br>
Here is the last line of the last file.<br>
-- end of output --$
</blockquote>
&nbsp;&nbsp;&nbsp;&nbsp;這時,只有所有文件都讀過了,eof()才返回真,如果只是多個文件中前幾個的末尾,返回值為假,因為還有要讀取的輸入。<br>
<a name="1.1.9">9)間接文件變量</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;對于上述各函數open, close, print, printf, write, select和eof,都可以用簡單變量來代替文件變量,這時,簡單變量中所存貯的字符串就被看作文件變量名,下面就是這樣一個例子,此例很簡單,就不解釋了。需要指出的是,函數open, close, write, select和eof還允許用表達式來替代文件變量,表達式的值必須是字符串,被用作文件變量名。<br>
<blockquote>
1:  #!/usr/local/bin/perl<br>
2:  <br>
3:  &amp;open_file("INFILE", "", "file1");<br>
4:  &amp;open_file("OUTFILE", "&gt;", "file2");<br>
5:  while ($line = &amp;read_from_file("INFILE")) {<br>
6:  &nbsp;  &amp;print_to_file("OUTFILE", $line);<br>
7:  }<br>
8:  <br>
9:  sub open_file {<br>
10: &nbsp;  local ($filevar, $filemode, $filename) = @_;<br>
11: <br>
12: &nbsp;  open ($filevar, $filemode . $filename) ||<br>
13: &nbsp; &nbsp;   die ("Can't open $filename");<br>
14: }<br>
15: sub read_from_file {<br>
16: &nbsp;  local ($filevar) = @_;<br>
17: <br>
18: &nbsp;  &lt;$filevar&gt;;<br>
19: }<br>
20: sub print_to_file {<br>
21: &nbsp;  local ($filevar, $line) = @_;<br>
22: <br>
23: &nbsp;  print $filevar ($line);<br>
24: }
</blockquote>
<a name="1.2">2、跳過和重讀數據</a><br>
<p><table border="1" cellspacing="1">
    <tr>
        <td>函數名</td>
        <td>seek</td>
    </tr>
    <tr>
        <td>調用語法</td>
        <td>seek (filevar, distance, relative_to);</td>
    </tr>
    <tr>
        <td>解說</td>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产激情一区二区三区桃花岛亚洲| 欧美国产日韩a欧美在线观看| 国产精品蜜臀在线观看| 狠狠色综合色综合网络| 欧美精品粉嫩高潮一区二区| 一区二区免费看| 99久久国产综合精品色伊| 国产无一区二区| 成人午夜精品在线| 中文字幕欧美日本乱码一线二线| 国产一区二区调教| 日韩欧美高清在线| 裸体健美xxxx欧美裸体表演| 日韩欧美一区二区免费| 免费在线成人网| 精品久久一区二区| 国内精品伊人久久久久av一坑| 精品免费一区二区三区| 国产精品影视在线| 26uuu欧美日本| 国产一区二区三区黄视频 | 久久亚洲综合av| 极品尤物av久久免费看| 久久久99免费| 粉嫩欧美一区二区三区高清影视| 欧美日韩免费高清一区色橹橹| 亚洲国产精品麻豆| 欧美成人激情免费网| 国产精品1区二区.| 亚洲三级在线免费观看| 欧美日韩国产小视频| 美女爽到高潮91| 国产日韩在线不卡| 欧美在线制服丝袜| 美洲天堂一区二卡三卡四卡视频| 久久久精品综合| 91黄色在线观看| 麻豆国产欧美一区二区三区| 国产三级三级三级精品8ⅰ区| 成人国产一区二区三区精品| 中文字幕成人网| 欧美中文字幕一区| 国内外成人在线| 一区二区三区视频在线观看 | 国产91丝袜在线播放| 亚洲美女视频在线| 在线不卡一区二区| 国产高清成人在线| 亚洲午夜电影网| 久久精品人人做人人爽人人| 91在线视频网址| 美脚の诱脚舐め脚责91| 亚洲丝袜另类动漫二区| 日韩欧美激情四射| 一道本成人在线| 国产精品亚洲专一区二区三区| 亚洲女女做受ⅹxx高潮| 欧美一级片免费看| 日本乱人伦aⅴ精品| 国产在线播放一区三区四| 洋洋av久久久久久久一区| 欧美色视频一区| 粉嫩av一区二区三区| 香港成人在线视频| 日韩一区欧美一区| 久久―日本道色综合久久| 欧美日韩精品一区二区在线播放| 国产91精品一区二区麻豆网站| 五月天网站亚洲| 亚洲另类在线一区| 国产精品伦理在线| 欧美精品一区二区三区蜜桃视频| 欧美视频在线观看一区| av不卡在线播放| 国产精品自拍一区| 久久精品99国产精品日本| 偷拍一区二区三区| 亚洲最新在线观看| 久久久噜噜噜久久人人看| 欧美日本国产视频| 欧美专区日韩专区| 日本精品一区二区三区四区的功能| 国产美女主播视频一区| 日本sm残虐另类| 午夜精品福利一区二区三区蜜桃| 亚洲品质自拍视频| 亚洲视频精选在线| 中文字幕亚洲一区二区av在线| 久久久久久久久久久黄色| 欧美成人精品3d动漫h| 欧美一区二区三区四区久久| 91农村精品一区二区在线| 成人ar影院免费观看视频| 国产风韵犹存在线视精品| 无吗不卡中文字幕| 日韩国产一二三区| 日本v片在线高清不卡在线观看| 亚洲高清在线视频| 亚洲午夜久久久久| 日韩精品一二区| 日韩电影在线一区二区| 一区二区三区蜜桃| 午夜精品久久久久久久99樱桃| 天天色天天操综合| 五月激情综合色| 看片的网站亚洲| 国产999精品久久久久久| 国产精品一品二品| 成人免费视频网站在线观看| 成人开心网精品视频| av中文字幕在线不卡| 色噜噜狠狠成人中文综合| 在线精品视频一区二区三四| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 日韩欧美一级片| 久久精品一区蜜桃臀影院| 国产欧美一区二区精品仙草咪| 久久美女艺术照精彩视频福利播放 | 日韩欧美美女一区二区三区| 精品国产乱码久久久久久1区2区| 久久精品无码一区二区三区| 欧美激情一区二区在线| 五月天婷婷综合| 99国产精品99久久久久久| 欧美日韩国产乱码电影| 一区在线观看视频| 精品夜夜嗨av一区二区三区| 色欧美片视频在线观看| 久久看人人爽人人| 亚洲va中文字幕| 99久久久精品| 久久精品日产第一区二区三区高清版| 亚洲图片一区二区| 成人18精品视频| 精品国产一区二区三区av性色 | 日本一二三四高清不卡| 首页国产丝袜综合| 色综合视频在线观看| 久久久综合网站| 捆绑紧缚一区二区三区视频| 欧美性做爰猛烈叫床潮| 中文字幕中文字幕一区二区| 国产一区高清在线| 欧美一区二区三区思思人 | 轻轻草成人在线| 欧美亚洲综合一区| 亚洲欧美电影一区二区| 不卡高清视频专区| 久久精品一区八戒影视| 久久国产精品99久久人人澡| 日本道在线观看一区二区| 中文字幕中文乱码欧美一区二区| 国产精品538一区二区在线| 欧美成人欧美edvon| 麻豆高清免费国产一区| 91精品国产综合久久小美女| 亚洲高清久久久| 欧美性三三影院| 一个色在线综合| 色香蕉久久蜜桃| 一区二区三区精密机械公司| 91在线观看美女| 亚洲视频一二三区| 日本精品视频一区二区| 亚洲精品ww久久久久久p站 | 欧美三级三级三级爽爽爽| 亚洲猫色日本管| 在线日韩一区二区| 亚洲女与黑人做爰| 欧美在线短视频| 亚洲成人www| 91精品国产日韩91久久久久久| 日韩电影免费在线看| 精品久久久久久久久久久久久久久久久| 高清不卡一区二区| 日韩女优视频免费观看| 久88久久88久久久| 精品1区2区在线观看| 国产a级毛片一区| 中文字幕一区二区三区四区不卡 | 亚洲视频免费观看| 欧美在线小视频| 日韩成人午夜精品| 精品国产乱码久久久久久1区2区| 国产一区二区三区最好精华液| 国产欧美一区二区精品性色超碰 | 国产主播一区二区三区| 国产亚洲一区二区三区| 成人av免费网站| 一个色综合网站| 精品久久久三级丝袜| 丁香天五香天堂综合| 亚洲黄色免费网站| 欧美一区二区日韩| 福利电影一区二区三区| 亚洲精品综合在线| 欧美xxxx老人做受| 色综合久久中文综合久久97| 午夜免费久久看| 久久久不卡网国产精品二区|